ipxcp.h 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. /*
  2. * ipxcp.h - IPX Control Protocol definitions.
  3. *
  4. * Copyright (c) 1984-2000 Carnegie Mellon University. All rights reserved.
  5. *
  6. * Redistribution and use in source and binary forms, with or without
  7. * modification, are permitted provided that the following conditions
  8. * are met:
  9. *
  10. * 1. Redistributions of source code must retain the above copyright
  11. * notice, this list of conditions and the following disclaimer.
  12. *
  13. * 2. Redistributions in binary form must reproduce the above copyright
  14. * notice, this list of conditions and the following disclaimer in
  15. * the documentation and/or other materials provided with the
  16. * distribution.
  17. *
  18. * 3. The name "Carnegie Mellon University" must not be used to
  19. * endorse or promote products derived from this software without
  20. * prior written permission. For permission or any legal
  21. * details, please contact
  22. * Office of Technology Transfer
  23. * Carnegie Mellon University
  24. * 5000 Forbes Avenue
  25. * Pittsburgh, PA 15213-3890
  26. * (412) 268-4387, fax: (412) 268-7395
  27. * tech-transfer@andrew.cmu.edu
  28. *
  29. * 4. Redistributions of any form whatsoever must retain the following
  30. * acknowledgment:
  31. * "This product includes software developed by Computing Services
  32. * at Carnegie Mellon University (http://www.cmu.edu/computing/)."
  33. *
  34. * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
  35. * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
  36. * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
  37. * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  38. * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
  39. * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
  40. * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  41. *
  42. * $Id: ipxcp.h,v 1.5 2002/12/04 23:03:32 paulus Exp $
  43. */
  44. /*
  45. * Options.
  46. */
  47. #define IPX_NETWORK_NUMBER 1 /* IPX Network Number */
  48. #define IPX_NODE_NUMBER 2
  49. #define IPX_COMPRESSION_PROTOCOL 3
  50. #define IPX_ROUTER_PROTOCOL 4
  51. #define IPX_ROUTER_NAME 5
  52. #define IPX_COMPLETE 6
  53. /* Values for the router protocol */
  54. #define IPX_NONE 0
  55. #define RIP_SAP 2
  56. #define NLSP 4
  57. typedef struct ipxcp_options {
  58. bool neg_node; /* Negotiate IPX node number? */
  59. bool req_node; /* Ask peer to send IPX node number? */
  60. bool neg_nn; /* Negotiate IPX network number? */
  61. bool req_nn; /* Ask peer to send IPX network number */
  62. bool neg_name; /* Negotiate IPX router name */
  63. bool neg_complete; /* Negotiate completion */
  64. bool neg_router; /* Negotiate IPX router number */
  65. bool accept_local; /* accept peer's value for ournode */
  66. bool accept_remote; /* accept peer's value for hisnode */
  67. bool accept_network; /* accept network number */
  68. bool tried_nlsp; /* I have suggested NLSP already */
  69. bool tried_rip; /* I have suggested RIP/SAP already */
  70. u_int32_t his_network; /* base network number */
  71. u_int32_t our_network; /* our value for network number */
  72. u_int32_t network; /* the final network number */
  73. u_char his_node[6]; /* peer's node number */
  74. u_char our_node[6]; /* our node number */
  75. u_char name [48]; /* name of the router */
  76. int router; /* routing protocol */
  77. } ipxcp_options;
  78. extern fsm ipxcp_fsm[];
  79. extern ipxcp_options ipxcp_wantoptions[];
  80. extern ipxcp_options ipxcp_gotoptions[];
  81. extern ipxcp_options ipxcp_allowoptions[];
  82. extern ipxcp_options ipxcp_hisoptions[];
  83. extern struct protent ipxcp_protent;