2005-04-21 16:53:53 +02:00
|
|
|
/*
|
|
|
|
inet/inet.h
|
|
|
|
|
|
|
|
Created: Dec 30, 1991 by Philip Homburg
|
|
|
|
|
|
|
|
Copyright 1995 Philip Homburg
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef INET__INET_H
|
|
|
|
#define INET__INET_H
|
|
|
|
|
|
|
|
#define _SYSTEM 1 /* get OK and negative error codes */
|
|
|
|
|
|
|
|
#include <sys/types.h>
|
|
|
|
#include <errno.h>
|
|
|
|
#include <stddef.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <string.h>
|
|
|
|
|
2005-06-28 17:19:58 +02:00
|
|
|
#include <unistd.h>
|
2005-07-11 15:02:59 +02:00
|
|
|
#include <sys/ioc_file.h>
|
2005-06-28 17:19:58 +02:00
|
|
|
#include <sys/time.h>
|
2005-04-21 16:53:53 +02:00
|
|
|
#include <minix/config.h>
|
|
|
|
#include <minix/type.h>
|
2005-06-28 17:19:58 +02:00
|
|
|
|
|
|
|
#define _NORETURN /* Should be non empty for GCC */
|
|
|
|
|
2013-09-09 16:53:28 +02:00
|
|
|
typedef unsigned long ioreq_t;
|
2005-06-28 17:19:58 +02:00
|
|
|
|
2005-04-21 16:53:53 +02:00
|
|
|
#include <minix/const.h>
|
|
|
|
#include <minix/com.h>
|
|
|
|
#include <minix/syslib.h>
|
2005-07-19 15:21:51 +02:00
|
|
|
#include <minix/sysutil.h>
|
2005-04-21 16:53:53 +02:00
|
|
|
#include <net/hton.h>
|
|
|
|
#include <net/gen/ether.h>
|
|
|
|
#include <net/gen/eth_hdr.h>
|
|
|
|
#include <net/gen/eth_io.h>
|
|
|
|
#include <net/gen/in.h>
|
|
|
|
#include <net/gen/ip_hdr.h>
|
|
|
|
#include <net/gen/ip_io.h>
|
|
|
|
#include <net/gen/icmp.h>
|
|
|
|
#include <net/gen/icmp_hdr.h>
|
|
|
|
#include <net/gen/oneCsum.h>
|
|
|
|
#include <net/gen/psip_hdr.h>
|
|
|
|
#include <net/gen/psip_io.h>
|
|
|
|
#include <net/gen/route.h>
|
|
|
|
#include <net/gen/tcp.h>
|
2005-06-28 17:19:58 +02:00
|
|
|
#include <net/gen/tcp.h>
|
2005-04-21 16:53:53 +02:00
|
|
|
#include <net/gen/tcp_hdr.h>
|
|
|
|
#include <net/gen/tcp_io.h>
|
|
|
|
#include <net/gen/udp.h>
|
|
|
|
#include <net/gen/udp_hdr.h>
|
|
|
|
#include <net/gen/udp_io.h>
|
2005-06-28 17:19:58 +02:00
|
|
|
|
|
|
|
#include <net/gen/arp_io.h>
|
2011-04-27 15:00:52 +02:00
|
|
|
#include <sys/ioc_net.h>
|
2005-04-21 16:53:53 +02:00
|
|
|
|
|
|
|
#include "const.h"
|
|
|
|
#include "inet_config.h"
|
|
|
|
|
|
|
|
#define PUBLIC
|
|
|
|
#define EXTERN extern
|
|
|
|
#define PRIVATE static
|
|
|
|
#define FORWARD static
|
|
|
|
|
2013-05-31 16:30:13 +02:00
|
|
|
#define THIS_FILE
|
|
|
|
#define this_file __FILE__
|
2005-04-21 16:53:53 +02:00
|
|
|
|
2012-03-24 16:16:34 +01:00
|
|
|
void panic0(char *file, int line);
|
|
|
|
void inet_panic(void) _NORETURN;
|
2005-04-21 16:53:53 +02:00
|
|
|
|
2013-05-31 16:30:13 +02:00
|
|
|
#if 0
|
2005-06-28 17:19:58 +02:00
|
|
|
#define ip_panic(print_list) \
|
2013-05-31 16:30:13 +02:00
|
|
|
(panic0(this_file, __LINE__), printf print_list, panic())
|
2005-06-28 17:19:58 +02:00
|
|
|
#define panic() inet_panic()
|
2013-05-31 16:30:13 +02:00
|
|
|
#else
|
|
|
|
#define ip_panic(print_list) do { panic print_list; } while(0)
|
|
|
|
#endif
|
2005-04-21 16:53:53 +02:00
|
|
|
|
|
|
|
#if DEBUG
|
|
|
|
#define ip_warning(print_list) \
|
|
|
|
( \
|
|
|
|
printf("warning at %s, %d: ", this_file, __LINE__), \
|
|
|
|
printf print_list, \
|
|
|
|
printf("\ninet stacktrace: "), \
|
2008-12-11 15:54:42 +01:00
|
|
|
util_stacktrace() \
|
2005-04-21 16:53:53 +02:00
|
|
|
)
|
2005-06-28 17:19:58 +02:00
|
|
|
#else
|
|
|
|
#define ip_warning(print_list) ((void) 0)
|
|
|
|
#endif
|
2005-04-21 16:53:53 +02:00
|
|
|
|
|
|
|
#define DBLOCK(level, code) \
|
|
|
|
do { if ((level) & DEBUG) { where(); code; } } while(0)
|
|
|
|
#define DIFBLOCK(level, condition, code) \
|
|
|
|
do { if (((level) & DEBUG) && (condition)) \
|
|
|
|
{ where(); code; } } while(0)
|
|
|
|
|
2013-04-23 01:50:45 +02:00
|
|
|
extern endpoint_t this_proc;
|
2005-06-28 17:19:58 +02:00
|
|
|
extern char version[];
|
2005-04-21 16:53:53 +02:00
|
|
|
|
2008-12-11 15:54:42 +01:00
|
|
|
#ifndef HZ
|
|
|
|
EXTERN u32_t system_hz;
|
|
|
|
#define HZ system_hz
|
|
|
|
#define HZ_DYNAMIC 1
|
|
|
|
#endif
|
2005-04-21 16:53:53 +02:00
|
|
|
|
|
|
|
#endif /* INET__INET_H */
|
|
|
|
|
|
|
|
/*
|
2005-06-28 17:19:58 +02:00
|
|
|
* $PchId: inet.h,v 1.16 2005/06/28 14:27:54 philip Exp $
|
2005-04-21 16:53:53 +02:00
|
|
|
*/
|