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

📄 ckcnet.h

📁 linux终端仿真程序
💻 H
📖 第 1 页 / 共 2 页
字号:
#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 */#ifndef bzero#define bzero(s,n) memset(s,0,n)#endif /* bzero */#ifndef bcopy#define bcopy(h,a,l) memcpy(a,h,l)#endif /* bcopy */#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#include <netinet/tcp.h>		/* for inet_addr() */#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.*/#ifndef NOINADDRX#ifdef DGUX540				/* Data General UX 5.40 */#define INADDRX#endif /* DGUX540 */#ifdef DU2				/* DEC Ultrix 2.0 */#define INADDRX#endif /* DU2 */#endif /* NOINADDRX */#else /* Not UNIX */#ifdef VMS				/* (Open)VMS section */#ifdef WINTCP				/* WIN/TCP = PathWay for VMS */#ifdef OLD_TWG#include "twg$tcp:[netdist.include.sys]errno.h"#include "twg$tcp:[netdist.include.sys]types2.h"   /* avoid some duplicates */#else#include <errno.h>#include "twg$tcp:[netdist.include.sys]types.h"#endif /* OLD_TWG */#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.arpa]inet.h"#include "multinet_root:[multinet.include.sys]ioctl.h"/*  We should be able to pick these up from <strings.h> but it's  not portable between VAXC and DECC.*/_PROTOTYP( void bzero, (char *, int) );_PROTOTYP( void bcopy, (char *, char *, int) );#ifdef __DECC/*   If compiling under DEC C the socket calls must not be prefixed with   DECC$.  This is done by using the compiler switch /Prefix=Ansi_C89.   However, this causes some calls that should be prefixed to not be   (which I think is a bug in the compiler - I've been told these calls   are present in ANSI compilers).  At any rate, such calls are fixed   here by explicitly prefixing them.*/#ifdef COMMENT/*   But this causes errors with VMS 6.2 / DEC C 5.3-006 / MultiNet 4.0A on   a VAX (but not on an Alpha).  So now what happens if we skip doing this?*/#define close decc$close#define alarm decc$alarm#endif /* COMMENT */#endif /* __DECC */#endif /* MULTINET */#ifdef DEC_TCPIP#include <in.h>#include <netdb.h>#include <socket.h>#include "ckvioc.h"#define socket_errno errno/*  Translation: In <strings.h>, which exists only for DECC >= 5.2, bzero()  and bcopy() are declared only for OpenVMS >= 7.0.  This still might need  adjustment for DECC 5.0 and (if there is such a thing) 5.1.*/#ifdef __DECC_VER#ifdef VMSV70/*  Note: you can't use "#if (__VMS_VER>=70000000)" because that is not  portable and kills non-VMS builds.*/#include <strings.h>#else#define bzero(s,n) memset(s,0,n)#define bcopy(h,a,l) memmove(a,h,l)#endif /* VMSV70 */#else#define bzero(s,n) memset(s,0,n)#define bcopy(h,a,l) memmove(a,h,l)#endif /* __DECC_VER */#define socket_read 	read#define socket_write 	write#define socket_ioctl	ioctl#define socket_close    close#ifdef __DECCint ioctl (int d, int request, void *argp);#elseint ioctl (int d, int request, char *argp);#endif /* DECC *//*  UCX supports select(), but does not provide the needed symbol and  structure definitions in any header file, so ...*/#include <types.h>#ifndef NBBY/*- * Copyright (c) 1982, 1986, 1991, 1993 *	The Regents of the University of California.  All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * 3. All advertising materials mentioning features or use of this software *    must display the following acknowledgement: *	This product includes software developed by the University of *	California, Berkeley and its contributors. * 4. Neither the name of the University nor the names of its contributors *    may be used to endorse or promote products derived from this software *    without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * *	@(#)types.h	8.1 (Berkeley) 6/2/93 */#define	NBBY	8		/* number of bits in a byte *//* * Select uses bit masks of file descriptors in longs.  These macros * manipulate such bit fields (the filesystem macros use chars). * FD_SETSIZE may be defined by the user, but the default here should * be enough for most uses. */#ifndef	FD_SETSIZE#define	FD_SETSIZE	256#endiftypedef long	fd_mask;#define NFDBITS	(sizeof(fd_mask) * NBBY)	/* bits per mask */#ifndef howmany#define	howmany(x, y)	(((x)+((y)-1))/(y))#endiftypedef	struct fd_set {	fd_mask	fds_bits[howmany(FD_SETSIZE, NFDBITS)];} fd_set;#define	FD_SET(n, p)	((p)->fds_bits[(n)/NFDBITS] |= (1 << ((n) % NFDBITS)))#define	FD_CLR(n, p)	((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS)))#define	FD_ISSET(n, p)	((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS)))#define	FD_COPY(f, t)	bcopy(f, t, sizeof(*(f)))#define	FD_ZERO(p)	bzero(p, sizeof(*(p)))#endif /* !NBBY */#endif /* DEC_TCPIP */#ifdef CMU_TCPIP#include <types.h>#include <in.h>#include <netdb.h>#include <socket.h>#include <ioctl.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)/* * Routines supplied in LIBCMU.OLB */#define socket_ioctl	ioctl#define socket_read 	cmu_read#define socket_write 	cmu_write#define socket_close    cmu_close#endif /* CMU_TCPIP */#else /* Not VMS */#ifdef BEBOX#define TCPIPLIB#define socket_close(x) closesocket(x)#endif /* BEBOX */#ifdef OS2#include "ckonet.h"#ifndef NT#include <nerrno.h>#endif#endif /* OS2 */#ifdef STRATUS  /* Stratus VOS using OS TCP/IP products S235, S236, S237 */#include <tcp_socket.h>/* This gets used some places when TCPSOCKET is defined. *//* OS TCP provides bzero(), but not bcopy()... go figure. */#define bcopy(s,d,z) memcpy(d,s,z)#endif /* STRATUS */#ifdef OSK#include <inet/in.h>#include <inet/netdb.h>#include <inet/socket.h>#define bzero(s,n) memset(s,0,n)#define bcopy(h,a,l) memcpy(a,h,l)typedef char * caddr_t; /* core address type */#endif /* OSK */#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 *//* Then the options */#ifndef TELOPT_BINARY #define TELOPT_BINARY 0#endif /* TELOPT_BINARY */#ifndef TELOPT_ECHO			#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 TELOPT_NAWS#define TELOPT_NAWS 31#endif  /* TELOPT_NAWS */#ifndef NTELOPTS#define	NTELOPTS 24#endif /* NTELOPTS */#ifndef TELOPT_NEWENVIRON#define TELOPT_NEWENVIRON 39#endif /* TELOPT_NEWENVIRON */#ifdef OS2#define CK_ENVIRONMENT#endif /* OS2 *//* Systems where we know we can define TELNET NAWS automatically. */#ifndef CK_NAWS				/* In other words, if both */#ifdef CK_TTGWSIZ			/* TNCODE and TTGWSIZ are defined */#define CK_NAWS				/* then we can do NAWS. */#endif /* CK_TTGWSIZ */#endif /* CK_NAWS *//* 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 tn_snenv, (CHAR *, int) ) ;_PROTOTYP( int tnsndbrk, (void) );#ifndef NOTCPOPTS/*  Automatically define NOTCPOPTS for configurations where they can't be  used at runtime or cause too much trouble at compile time.*/#ifdef CMU_TCPIP			/* CMU/Tek */#define NOTCPOPTS#endif /* CMU_TCPIP */#ifdef MULTINET				/* Multinet on Alpha */#ifdef __alpha#define NOTCPOPTS#endif /* __alpha */#endif /* MULTINET */#endif /* NOTCPOPTS */#ifdef NOTCPOPTS#ifdef TCP_NODELAY#undef TCP_NODELAY#endif /* TCP_NODELAY */#ifdef SO_LINGER#undef SO_LINGER#endif /* SO_LINGER */#ifdef SO_KEEPALIVE#undef SO_KEEPALIVE#endif /* SO_KEEPALIVE */#ifdef SO_SNDBUF#undef SO_SNDBUF#endif /* SO_SNDBUF */#ifdef SO_RCVBUF#undef SO_RCVBUF#endif /* SO_RCVBUF */#endif /* NOTCPOPTS */#ifdef SOL_SOCKET#ifdef TCP_NODELAY_PROTOTYP( int no_delay, (int) );#endif /* TCP_NODELAY */#ifdef SO_KEEPALIVE_PROTOTYP( int keepalive, (int) ) ;#endif /* SO_KEEPALIVE */#ifdef SO_LINGER _PROTOTYP( int ck_linger, (int, int) ) ;#endif /* SO_LINGER */#ifdef SO_SNDBUF_PROTOTYP( int sendbuf,(int) ) ; #endif /* SO_SNDBUF */#ifdef SO_RCVBUF_PROTOTYP( int recvbuf, (int) ) ;#endif /* SO_RCVBUF */#endif /* SOL_SOCKET *//* On HP-9000/500 HP-UX 5.21 this stuff is not defined in any header file */#ifdef hp9000s500#ifndef NEEDSELECTDEFS#define NEEDSELECTDEFS#endif /* NEEDSELECTDEFS */#endif /* hp9000s500 */#ifdef NEEDSELECTDEFStypedef long fd_mask;#ifndef NBBY#define NBBY 8#endif /* NBBY */#ifndef FD_SETSIZE#define FD_SETSIZE 32#endif /* FD_SETSIZE */#ifndef NFDBITS#define NFDBITS (sizeof(fd_mask) * NBBY)#endif /* NFDBITS */#ifndef howmany#define howmany(x,y) (((x)+((y)-1))/(y))#endif /* howmany */typedef struct fd_set {    fd_mask fds_bits[howmany(FD_SETSIZE, NFDBITS)];} fd_set;#ifndef FD_SET#define FD_SET(n,p) ((p)->fds_bits[(n)/NFDBITS] |= (1 << ((n) % NFDBITS)))#endif /* FD_SET */#ifndef FD_CLR#define FD_CLR(n,p) ((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS)))#endif /* FD_CLR */#ifndef FD_ISSET#define FD_ISSET(n,p) ((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS)))#endif /* FD_ISSET */#ifndef FD_COPY#define FD_COPY(f,t) (bcopy(f,t,sizeof(*(f)))#endif /* FD_COPY */#ifndef FD_ZERO#define FD_ZERO(p) bzero((char *)(p),sizeof(*(p)))#endif /* FD_ZERO */#endif /* NEEDSELECTDEFS */#endif /* TNCODE */#ifdef RLOGCODE#ifndef CK_TTGWSIZSORRY_RLOGIN_REQUIRES_TTGWSIZ_see_ckcplm.doc#endif /* CK_TTGWSIZ */#endif /* RLOGCODE */#ifdef CK_NAWS#ifndef CK_TTGWSIZSORRY_CK_NAWS_REQUIRES_TTGWSIZ_see_ckcplm.doc#endif /* CK_TTGWSIZ */#endif /* CK_NAWS */#endif /* CKCNET_H */

⌨️ 快捷键说明

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