1*41596Ssklower #ifdef KERNEL 2*41596Ssklower #define PRC_IFUP 3 3*41596Ssklower #define PRC_LINKUP 4 4*41596Ssklower #define PRC_LINKDOWN 5 5*41596Ssklower #define PRC_LINKRESET 6 6*41596Ssklower #define PRC_LINKDONTCOPY 7 7*41596Ssklower #endif 8*41596Ssklower 9*41596Ssklower #define CCITTPROTO_HDLC 1 10*41596Ssklower #define CCITTPROTO_X25 2 /* packet level protocol */ 11*41596Ssklower #define IEEEPROTO_802LLC 3 /* doesn't belong here */ 12*41596Ssklower 13*41596Ssklower #define HDLCPROTO_LAP 1 14*41596Ssklower #define HDLCPROTO_LAPB 2 15*41596Ssklower #define HDLCPROTO_UNSET 3 16*41596Ssklower #define HDLCPROTO_LAPD 4 17*41596Ssklower 18*41596Ssklower /* 19*41596Ssklower * X.25 Socket address structure. It contains the X.121 or variation of 20*41596Ssklower * X.121, facilities information, higher level protocol value (first four 21*41596Ssklower * bytes of the User Data field), and the last 12 characters of the User 22*41596Ssklower * Data field. 23*41596Ssklower */ 24*41596Ssklower 25*41596Ssklower struct x25_sockaddr { /* obsolete - use sockaddr_x25 */ 26*41596Ssklower short xaddr_len; /* Length of xaddr_addr. */ 27*41596Ssklower u_char xaddr_addr[15]; /* Network dependent or X.121 address. */ 28*41596Ssklower u_char xaddr_facilities; /* Facilities information. */ 29*41596Ssklower #define XS_REVERSE_CHARGE 0x01 30*41596Ssklower #define XS_HIPRIO 0x02 31*41596Ssklower u_char xaddr_proto[4]; /* Protocol ID (4 bytes of user data). */ 32*41596Ssklower u_char xaddr_userdata[12]; /* Remaining User data field. */ 33*41596Ssklower }; 34*41596Ssklower 35*41596Ssklower /* 36*41596Ssklower * network configuration info 37*41596Ssklower * this structure must be 16 bytes long 38*41596Ssklower */ 39*41596Ssklower 40*41596Ssklower struct x25config { 41*41596Ssklower u_short xc_family; /* always AF_CCITT */ 42*41596Ssklower u_short xc_net; /* network id (usually a dnic) */ 43*41596Ssklower char xc_ntnlen; 44*41596Ssklower char xc_ntn[5]; /* network specific address (in bcd) */ 45*41596Ssklower /* link level parameters */ 46*41596Ssklower u_short xc_lproto:4, /* link level protocol eg. CCITTPROTO_HDLC */ 47*41596Ssklower xc_lptype:4, /* protocol type eg. HDLCPROTO_LAPB */ 48*41596Ssklower xc_lwsize:5, /* link level window size */ 49*41596Ssklower xc_ltrace:1, /* link level tracing flag */ 50*41596Ssklower xc_rsvd1:2; /* for use by other link-level protocols */ 51*41596Ssklower /* packet level parameters */ 52*41596Ssklower u_short xc_pwsize:3, /* default window size */ 53*41596Ssklower xc_psize:4, /* default packet size 7=128, 8=256, ... */ 54*41596Ssklower xc_type:2, /* network type */ 55*41596Ssklower #define X25_1976 0 56*41596Ssklower #define X25_1980 1 57*41596Ssklower #define X25_1984 2 58*41596Ssklower xc_ptrace:1, /* packet level tracing flag */ 59*41596Ssklower xc_rsvd2:6; 60*41596Ssklower u_char xc_maxlcn; /* max logical channels */ 61*41596Ssklower u_char xc_rsvd3; 62*41596Ssklower }; 63*41596Ssklower 64*41596Ssklower /* 65*41596Ssklower * X.25 Socket address structure. It contains the network id, X.121 66*41596Ssklower * address, facilities information, higher level protocol value (first four 67*41596Ssklower * bytes of the User Data field), and up to 12 characters of User Data. 68*41596Ssklower */ 69*41596Ssklower 70*41596Ssklower struct sockaddr_x25 { 71*41596Ssklower short x25_family; /* must be AF_CCITT */ 72*41596Ssklower short x25_net; /* network id code (usually a dnic) */ 73*41596Ssklower struct x25opts { 74*41596Ssklower char op_flags; /* miscellaneous options */ 75*41596Ssklower #define X25_REVERSE_CHARGE 0x01 /* remote DTE pays for call */ 76*41596Ssklower #define X25_DBIT 0x02 /* not yet supported */ 77*41596Ssklower #define X25_MQBIT 0x04 /* prepend M&Q bit status byte to packet data */ 78*41596Ssklower #define X25_OLDSOCKADDR 0x08 /* uses old sockaddr structure */ 79*41596Ssklower char op_psize; /* requested packet size */ 80*41596Ssklower #define X25_PS128 7 81*41596Ssklower #define X25_PS256 8 82*41596Ssklower #define X25_PS512 9 83*41596Ssklower char op_wsize; /* window size (1 .. 7) */ 84*41596Ssklower char op_speed; /* throughput class */ 85*41596Ssklower } x25_opts; 86*41596Ssklower char x25_addr[16]; /* X.121 address (null terminated) */ 87*41596Ssklower short x25_udlen; /* user data field length */ 88*41596Ssklower char x25_udata[16]; /* user data field */ 89*41596Ssklower }; 90