⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ckcnet.h

📁 早期freebsd实现
💻 H
字号:
#ifndef CKCNET_H#define CKCNET_H/* Network types */#define NET_NONE 0			/* None */#define NET_TCPB 1			/* TCP/IP Berkeley (socket) */#define NET_TCPA 2			/* TCP/IP AT&T (streams) */#define NET_SX25 3			/* SUNOS SunLink X.25 */#define NET_DEC  4			/* DECnet */#define NET_VPSI 5			/* VAX PSI */#define NET_PIPE 6			/* LAN Manager Named Pipe *//* Network virtual terminal protocols */#define NP_NONE 0			/* None (async) */#define NP_TELNET 1			/* TCP/IP telnet */#define NP_VTP 2			/* ISO Virtual Terminal Protocol */#define NP_X3 3				/* CCITT X.3 */#define NP_X28 4			/* CCITT X.28 */#define NP_X29 5			/* CCITT X.28 */#define NP_CTERM 20			/* DEC CTERM */#define NP_LAT 21			/* DEC LAT *//* others here... *//* Basic network function prototypes, common to all. */_PROTOTYP( int netopen, (char *, int *, int) );_PROTOTYP( int netclos, (void) );_PROTOTYP( int netflui, (void) );_PROTOTYP( int nettchk, (void) );_PROTOTYP( int netbreak, (void) );_PROTOTYP( int netinc, (int) );_PROTOTYP( int nettol, (char *, int) );_PROTOTYP( int nettoc, (char) );/*  SunLink X.25 support by Marcello Frutig, Catholic University,  Rio de Janeiro, Brazil, 1990.  Maybe this can be adapted to VAX PSI and other X.25 products too.*/#ifndef SUNOS4				/* Only valid for SUNOS4 */#ifdef SUNX25#undef SUNX25#endif /* SUNX25 */#endif /* SUNOS4 */#ifdef SUNX25#ifndef NETCONN				/* SUNX25 implies NETCONN */#define NETCONN#endif /* NETCONN */#define MAXPADPARMS                18	/* Number of PAD parameters */#define MAXCUDATA		   12	/* Max length of X.25 call user data */#define X29PID			    1   /* X.29 protocol ID */#define X29PIDLEN		    4   /* X.29 protocol ID length */#define X29_SET_PARMS               2#define X29_READ_PARMS              4#define X29_SET_AND_READ_PARMS      6#define X29_INVITATION_TO_CLEAR     1#define X29_PARAMETER_INDICATION    0#define X29_INDICATION_OF_BREAK     3#define X29_ERROR                   5#define INVALID_PAD_PARM            1#define PAD_BREAK_CHARACTER         0#define PAD_ESCAPE                  1#define PAD_ECHO                    2#define PAD_DATA_FORWARD_CHAR       3#define PAD_DATA_FORWARD_TIMEOUT    4#define PAD_FLOW_CONTROL_BY_PAD     5#define PAD_SUPPRESSION_OF_SIGNALS  6#define PAD_BREAK_ACTION            7#define PAD_SUPPRESSION_OF_DATA     8#define PAD_PADDING_AFTER_CR        9#define PAD_LINE_FOLDING           10#define PAD_LINE_SPEED             11#define PAD_FLOW_CONTROL_BY_USER   12#define PAD_LF_AFTER_CR            13#define PAD_PADDING_AFTER_LF       14#define PAD_EDITING                15#define PAD_CHAR_DELETE_CHAR       16#define PAD_BUFFER_DELETE_CHAR     17#define PAD_BUFFER_DISPLAY_CHAR    18#define MAXIX25 MAX_USER_DATA*7#define MAXOX25 MAX_USER_DATA#include <sys/ioctl.h>			/* X.25 includes */#include <sys/param.h>#include <sys/systm.h>#include <sys/mbuf.h>#include <sys/socket.h>#include <sys/protosw.h>#include <sys/domain.h>#include <sys/socketvar.h>#include <net/if.h>#include <sundev/syncstat.h>#include <netx25/x25_pk.h>#include <netx25/x25_ctl.h>#include <netx25/x25_ioctl.h>/* C-Kermit X.3 / X.25 / X.29 / X.121 support functions */_PROTOTYP( VOID shopad, (void) );_PROTOTYP( VOID initpad, (void) );_PROTOTYP( VOID setpad, (CHAR *, int) );_PROTOTYP( VOID readpad, (CHAR *, int, CHAR *) );_PROTOTYP( int qbitpkt, (CHAR *, int) );_PROTOTYP( VOID setqbit, (void) );_PROTOTYP( VOID resetqbit, (void) );_PROTOTYP( VOID breakact, (void) );_PROTOTYP( int pkx121, (char *, CHAR *) );_PROTOTYP( VOID x25oobh, (void) );_PROTOTYP( int x25diag, (void) );_PROTOTYP( int x25intr, (char) );_PROTOTYP( int x25reset, (char, char) );_PROTOTYP( int x25clear, (void) );_PROTOTYP( int x25stat, (void) );_PROTOTYP( int x25in, (int, CHAR *) );_PROTOTYP( int x25inl, (CHAR *, int, int, CHAR) );#endif /* SUNX25 *//* DEC TCP/IP for (Open)VMS, previously known as UCX */#ifdef DEC_TCPIP			/* DEC_TCPIP implies TCPSOCKET */#ifndef TCPSOCKET#define TCPSOCKET#endif /* TCPSOCKET */#ifndef VMSTCPIP#define VMSTCPIP#endif /* VMSTCPIP */#endif /* DEC_TCPIP *//* TGV/SRI MultiNet, TCP/IP for VAX/VMS */#ifdef MULTINET				/* MULTINET implies TCPSOCKET */#ifndef TCPSOCKET#define TCPSOCKET#endif /* TCPSOCKET */#ifndef VMSTCPIP#define VMSTCPIP#endif /* VMSTCPIP */#ifndef TGVORWIN			/* MULTINET and WINTCP */#define TGVORWIN			/* share a lot of code... */#endif /* TGVORWIN */#endif /* MULTINET *//* Wollongong TCP/IP for VAX/VMS */#ifdef WINTCP				/* WINTCP implies TCPSOCKET */#ifndef TCPSOCKET#define TCPSOCKET#endif /* TCPSOCKET */#ifndef VMSTCPIP#define VMSTCPIP#endif /* VMSTCPIP */#ifndef TGVORWIN			/* WINTCP and MULTINET */#define TGVORWIN			/* share a lot of code... */#endif /* TGVORWIN */#endif /* WINTCP *//* Wollongong TCP/IP for AT&T Sys V */#ifdef WOLLONGONG			/* WOLLONGONG implies TCPSOCKET */#ifndef TCPSOCKET			/* Don't confuse WOLLONGONG */#define TCPSOCKET			/* (which is for UNIX) with */#endif /* TCPSOCKET */			/* WINTCP, which is for VMS! */#endif /* WOLLONGONG */#ifdef EXCELAN				/* EXCELAN implies TCPSOCKET */#ifndef TCPSOCKET#define TCPSOCKET#endif /* TCPSOCKET */#endif /* EXCELAN */#ifdef INTERLAN				/* INTERLAN implies TCPSOCKET */#ifndef TCPSOCKET#define TCPSOCKET#endif /* TCPSOCKET */#endif /* INTERLAN *//* Telnet protocol */#ifdef TCPSOCKET			/* TCPSOCKET implies TNCODE */#ifndef TNCODE				/* Which means... */#define TNCODE				/* Compile in telnet code */#endif /* TNCODE */#endif /* TCPSOCKET */#ifdef SUNX25				/* SUNX25 implies TCPSOCKET */#ifndef TCPSOCKET			/* But doesn't imply TNCODE */#define TCPSOCKET#endif /* TCPSOCKET */#endif /* SUNX25 *//* This is the TCPSOCKET section... */#ifdef TCPSOCKET#ifndef NETCONN				/* TCPSOCKET implies NETCONN */#define NETCONN#endif /* NETCONN *//* BSD sockets library header files */#ifdef UNIX				/* UNIX section */#ifdef INTERLAN				/* Racal-Interlan TCP/IP */#include <interlan/socket.h>#include <interlan/il_types.h>#include <interlan/telnet.h>#include <interlan/il_errno.h>#include <interlan/in.h>#include <interlan/telnet.h>#else					/* Normal BSD TCP/IP library */#ifndef HPUX#include <arpa/telnet.h>#endif /* HPUX */#include <sys/socket.h>#ifdef WOLLONGONG#include <sys/in.h>#else#include <netinet/in.h>#endif /* WOLLONGONG */#endif /* INTERLAN */#ifndef EXCELAN#include <netdb.h>#ifndef INTERLAN#ifdef WOLLONGONG#define minor				/* Do not include <sys/macros.h> */#include <sys/inet.h>#else#ifndef OXOS#ifndef HPUX#include <arpa/inet.h>#endif /* HPUX */#else /* OXOS *//* In too many releases of X/OS, <arpa/inet.h> declares inet_addr() as * ``struct in_addr''.  This is definitively wrong, and could cause * core dumps.  Instead of including that bad file, inet_addr() is * correctly declared here.  Of course, all the declarations done there * has been copied here. */unsigned long inet_addr();char	*inet_ntoa();struct	in_addr inet_makeaddr();unsigned long inet_network();#endif /* OXOS */#endif /* WOLLONGONG */#endif /* INTERLAN */#endif /* EXCELAN */#ifdef EXCELAN				/* Excelan TCP/IP */#include <ex_errno.h>#endif /* EXCELAN */#ifdef I386IX				/* Interactive Sys V R3 network. *//* #define TELOPTS */			/* This might need defining. */#define ORG_NLONG ENAMETOOLONG		/* Resolve conflicting symbols */#undef ENAMETOOLONG			/* in <errno.h> and <net/errno.h> */#define ORG_NEMPTY ENOTEMPTY#undef ENOTEMPTY#include <net/errno.h>#undef ENAMETOOLONG#define ENAMETOOLONG ORG_NLONG#undef ENOTEMPTY#define ENOTEMPTY ORG_NEMPTY#endif /* I386IX *//*  Data type of the inet_addr() function...  We define INADDRX if it is of type struct inaddr.  If it is undefined, unsigned long is assumed.  Look at <arpa/inet.h> to find out.  The following known cases are  handled here.  Other systems that need it can be added here, or else  -DINADDRX can be included in the CFLAGS on the cc command line.*/#ifdef DGUX540				/* Data General UX 5.40 */#define INADDRX#endif /* DGUX540 */#ifdef DU2				/* DEC Ultrix 2.0 */#define INADDRX#endif /* DU2 */#else /* Not UNIX */#ifdef VMS				/* VAX/VMS section */#ifdef WINTCP				/* TWG WIN/TCP for VMS */#include <errno.h>#include "twg$tcp:[netdist.include.sys]types.h"#include "twg$tcp:[netdist.include.sys]socket.h"#include "twg$tcp:[netdist.include]netdb.h"#include "twg$tcp:[netdist.include.sys]domain.h"#include "twg$tcp:[netdist.include.sys]protosw.h"#include "twg$tcp:[netdist.include.netinet]in.h"#include "twg$tcp:[netdist.include.sys]ioctl.h"#endif /* WINTCP */#ifdef MULTINET				/* TGV MultiNet */#include "multinet_root:[multinet.include]errno.h"#include "multinet_root:[multinet.include.sys]types.h"#include "multinet_root:[multinet.include.sys]socket.h"#include "multinet_root:[multinet.include]netdb.h"#include "multinet_root:[multinet.include.netinet]in.h"#include "multinet_root:[multinet.include.sys]ioctl.h"#endif /* MULTINET */#ifdef DEC_TCPIP#include <in.h>#include <netdb.h>#include <socket.h>#include "ckvioc.h"#define socket_errno errno#define bzero(s,n) memset(s,0,n) #define bcopy(h,a,l) memmove(a,h,l)#define socket_read 	read#define socket_write 	write#define socket_ioctl	ioctl#define socket_close    close#endif /* DEC_TCPIP */#endif /* VMS */#endif /* UNIX */#endif /* TCPSOCKET */#ifdef TNCODE				/* If we're compiling telnet code... *//*  Make sure telnet symbols are defined; can't rely on library header files  for any of them.*/#ifndef IAC				/* First the telnet commands */#define IAC 255#endif /* IAC */#ifndef DONT#define DONT 254#endif /* DONT */#ifndef DO#define DO 253#endif /* DO */#ifndef WONT#define WONT 252#endif /* WONT */#ifndef WILL#define WILL 251#endif /* WILL */#ifndef SB#define SB 250#endif /* SB */#ifndef BREAK#define BREAK 243#endif /* BREAK */#ifndef SE#define SE 240#endif /* SE */#ifndef TELOPT_ECHO			/* Then the options */#define TELOPT_ECHO 1#endif /* TELOPT_ECHO */#ifndef TELOPT_SGA#define	TELOPT_SGA 3#endif /* TELOPT_SGA */#ifndef TELOPT_STATUS#define	TELOPT_STATUS 5#endif /* TELOPT_STATUS */#ifndef TELOPT_TTYPE#define	TELOPT_TTYPE 24#endif /* TELOPT_TTYPE */#ifndef NTELOPTS#define	NTELOPTS 24#endif /* NTELOPTS *//* Telnet protocol functions defined in C-Kermit */_PROTOTYP( int tn_ini, (void) );	/* Telnet protocol support */_PROTOTYP( int tn_sopt, (int, int) );_PROTOTYP( int tn_doop, (CHAR, int, int (*)(int) ) );_PROTOTYP( int tn_sttyp, (void) );_PROTOTYP( int tnsndbrk, (void) );#endif /* TNCODE */#endif /* CKCNET_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -