1 /* 2 * INET An implementation of the TCP/IP protocol suite for the LINUX 3 * operating system. INET is implemented using the BSD Socket 4 * interface as the means of communication with the user level. 5 * 6 * General Definitions for the TCP/IP (INET) module. This is 7 * mostly a bunch of "general" macros, plus the PROTOCOL link 8 * code and data. 9 * 10 * Version: @(#)inet.h 1.0.6 05/25/93 11 * 12 * Author: Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG> 13 * 14 * This work was derived friom Ross Biro's inspirational work 15 * for the LINUX operating system. His version numbers were: 16 * 17 * $Id: Space.c,v 0.8.4.5 1992/12/12 19:25:04 bir7 Exp $ 18 * $Id: arp.c,v 0.8.4.6 1993/01/28 22:30:00 bir7 Exp $ 19 * $Id: arp.h,v 0.8.4.6 1993/01/28 22:30:00 bir7 Exp $ 20 * $Id: dev.c,v 0.8.4.13 1993/01/23 18:00:11 bir7 Exp $ 21 * $Id: dev.h,v 0.8.4.7 1993/01/23 18:00:11 bir7 Exp $ 22 * $Id: eth.c,v 0.8.4.4 1993/01/22 23:21:38 bir7 Exp $ 23 * $Id: eth.h,v 0.8.4.1 1992/11/10 00:17:18 bir7 Exp $ 24 * $Id: icmp.c,v 0.8.4.9 1993/01/23 18:00:11 bir7 Exp $ 25 * $Id: icmp.h,v 0.8.4.2 1992/11/15 14:55:30 bir7 Exp $ 26 * $Id: ip.c,v 0.8.4.8 1992/12/12 19:25:04 bir7 Exp $ 27 * $Id: ip.h,v 0.8.4.2 1993/01/23 18:00:11 bir7 Exp $ 28 * $Id: loopback.c,v 0.8.4.8 1993/01/23 18:00:11 bir7 Exp $ 29 * $Id: packet.c,v 0.8.4.7 1993/01/26 22:04:00 bir7 Exp $ 30 * $Id: protocols.c,v 0.8.4.3 1992/11/15 14:55:30 bir7 Exp $ 31 * $Id: raw.c,v 0.8.4.12 1993/01/26 22:04:00 bir7 Exp $ 32 * $Id: sock.c,v 0.8.4.6 1993/01/28 22:30:00 bir7 Exp $ 33 * $Id: sock.h,v 0.8.4.7 1993/01/26 22:04:00 bir7 Exp $ 34 * $Id: tcp.c,v 0.8.4.16 1993/01/26 22:04:00 bir7 Exp $ 35 * $Id: tcp.h,v 0.8.4.7 1993/01/22 22:58:08 bir7 Exp $ 36 * $Id: timer.c,v 0.8.4.8 1993/01/23 18:00:11 bir7 Exp $ 37 * $Id: timer.h,v 0.8.4.2 1993/01/23 18:00:11 bir7 Exp $ 38 * $Id: udp.c,v 0.8.4.12 1993/01/26 22:04:00 bir7 Exp $ 39 * $Id: udp.h,v 0.8.4.1 1992/11/10 00:17:18 bir7 Exp $ 40 * $Id: we.c,v 0.8.4.10 1993/01/23 18:00:11 bir7 Exp $ 41 * $Id: wereg.h,v 0.8.4.1 1992/11/10 00:17:18 bir7 Exp $ 42 * 43 * This program is free software; you can redistribute it and/or 44 * modify it under the terms of the GNU General Public License 45 * as published by the Free Software Foundation; either version 46 * 2 of the License, or (at your option) any later version. 47 */ 48 #ifndef _INET_H 49 #define _INET_H 50 51 52 #include <linux/ddi.h> 53 54 55 #define NET16(x) ((((x) >> 8) & 0x00FF) | (((x) << 8) & 0xFF00)) 56 57 58 #undef INET_DEBUG 59 #ifdef INET_DEBUG 60 # define DPRINTF(x) dprintf x 61 #else 62 # define DPRINTF(x) /*zilch*/ 63 #endif 64 65 /* Debug levels. One per module. */ 66 #define DBG_OFF 0 /* no debugging */ 67 #define DBG_INET 1 /* sock.c */ 68 #define DBG_RT 2 /* route.c */ 69 #define DBG_DEV 3 /* dev.c */ 70 #define DBG_ETH 4 /* eth.c */ 71 #define DBG_PROTO 5 /* protocol.c */ 72 #define DBG_TMR 6 /* timer.c */ 73 #define DBG_PKT 7 /* packet.c */ 74 #define DBG_RAW 8 /* raw.c */ 75 76 #define DBG_LOOPB 10 /* loopback.c */ 77 #define DBG_SLIP 11 /* slip.c */ 78 79 #define DBG_ARP 20 /* arp.c */ 80 #define DBG_IP 21 /* ip.c */ 81 #define DBG_ICMP 22 /* icmp.c */ 82 #define DBG_TCP 23 /* tcp.c */ 83 #define DBG_UDP 24 /* udp.c */ 84 85 86 extern int inet_debug; 87 88 89 extern void inet_proto_init(struct ddi_proto *pro); 90 extern char *in_ntoa(unsigned long in); 91 extern unsigned long in_aton(char *str); 92 93 extern void dprintf(int level, char *fmt, ...); 94 95 extern int dbg_ioctl(void *arg, int level); 96 97 #endif /* _INET_H */