|
|
1.1 ! root 1: /* raw_cb.h 6.1 83/07/29 */ ! 2: ! 3: /* ! 4: * Raw protocol interface control block. Used ! 5: * to tie a socket to the generic raw interface. ! 6: */ ! 7: struct rawcb { ! 8: struct rawcb *rcb_next; /* doubly linked list */ ! 9: struct rawcb *rcb_prev; ! 10: struct socket *rcb_socket; /* back pointer to socket */ ! 11: struct sockaddr rcb_faddr; /* destination address */ ! 12: struct sockaddr rcb_laddr; /* socket's address */ ! 13: caddr_t rcb_pcb; /* protocol specific stuff */ ! 14: struct route rcb_route; /* routing information */ ! 15: short rcb_flags; ! 16: }; ! 17: ! 18: /* ! 19: * Since we can't interpret canonical addresses, ! 20: * we mark an address present in the flags field. ! 21: */ ! 22: #define RAW_LADDR 01 ! 23: #define RAW_FADDR 02 ! 24: #define RAW_DONTROUTE 04 /* no routing, default */ ! 25: ! 26: #define sotorawcb(so) ((struct rawcb *)(so)->so_pcb) ! 27: ! 28: /* ! 29: * Nominal space allocated to a raw socket. ! 30: */ ! 31: #define RAWSNDQ 2048 ! 32: #define RAWRCVQ 2048 ! 33: ! 34: /* ! 35: * Format of raw interface header prepended by ! 36: * raw_input after call from protocol specific ! 37: * input routine. ! 38: */ ! 39: struct raw_header { ! 40: struct sockproto raw_proto; /* format of packet */ ! 41: struct sockaddr raw_dst; /* dst address for rawintr */ ! 42: struct sockaddr raw_src; /* src address for sbappendaddr */ ! 43: }; ! 44: ! 45: #ifdef KERNEL ! 46: struct rawcb rawcb; /* head of list */ ! 47: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.