亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sock.h

?? linux下的tcpreplay源代碼
?? H
?? 第 1 頁 / 共 3 頁
字號:
#ifndef _SOCK_H/* include unph *//* Our own header.  Tabs are set for 4 spaces, not 8 *///#ifndef	__unp_h//#define	__unp_h/* If anything changes in the following list of #includes, must change   acsite.m4 also, for configure's tests. */#include	<sys/types.h>	/* basic system data types */#include	<sys/socket.h>	/* basic socket definitions */#include	<sys/time.h>	/* timeval{} for select() */#include	<time.h>		/* timespec{} for pselect() */#include	<netinet/in.h>	/* sockaddr_in{} and other Internet defns */#include	<arpa/inet.h>	/* inet(3) functions */#include	<errno.h>#include	<fcntl.h>		/* for nonblocking */#include	<netdb.h>#include	<signal.h>#include	<stdio.h>#include	<stdlib.h>#include	<string.h>#include	<sys/stat.h>	/* for S_xxx file mode constants */#include	<sys/uio.h>		/* for iovec{} and readv/writev */#include	<unistd.h>#include	<sys/wait.h>#include	<sys/un.h>		/* for Unix domain sockets */#ifdef	HAVE_SYS_SELECT_H# include	<sys/select.h>	/* for convenience */#endif#ifdef	HAVE_POLL_H# include	<poll.h>		/* for convenience */#endif#ifdef	HAVE_STRINGS_H# include	<strings.h>		/* for convenience */#endif/* Three headers are normally needed for socket/file ioctl's: * <sys/ioctl.h>, <sys/filio.h>, and <sys/sockio.h>. */#include	<sys/ioctl.h>#ifdef	HAVE_SYS_FILIO_H# include	<sys/filio.h>#endif#ifdef	HAVE_SYS_SOCKIO_H# include	<sys/sockio.h>#endif#ifdef	HAVE_PTHREAD_H# include	<pthread.h>#endif/* OSF/1 actually disables recv() and send() in <sys/socket.h> */#ifdef	__osf__#undef	recv#undef	send#define	recv(a,b,c,d)	recvfrom(a,b,c,d,0,0)#define	send(a,b,c,d)	sendto(a,b,c,d,0,0)#endif#ifndef	INADDR_NONE/* $$.Ic INADDR_NONE$$ */#define	INADDR_NONE	0xffffffff	/* should have been in <netinet/in.h> */#endif#ifndef	SHUT_RD				/* these three Posix.1g names are quite new */#define	SHUT_RD		0	/* shutdown for reading */#define	SHUT_WR		1	/* shutdown for writing */#define	SHUT_RDWR	2	/* shutdown for reading and writing *//* $$.Ic SHUT_RD$$ *//* $$.Ic SHUT_WR$$ *//* $$.Ic SHUT_RDWR$$ */#endif/* *INDENT-OFF* */#ifndef INET_ADDRSTRLEN/* $$.Ic INET_ADDRSTRLEN$$ */#define	INET_ADDRSTRLEN		16	/* "ddd.ddd.ddd.ddd\0"								    1234567890123456 */#endif/* Define following even if IPv6 not supported, so we can always allocate   an adequately-sized buffer, without #ifdefs in the code. */#ifndef INET6_ADDRSTRLEN/* $$.Ic INET6_ADDRSTRLEN$$ */#define	INET6_ADDRSTRLEN	46	/* max size of IPv6 address string:				   "xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx" or				   "xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:ddd.ddd.ddd.ddd\0"				    1234567890123456789012345678901234567890123456 */#endif/* *INDENT-ON* *//* Define bzero() as a macro if it's not in standard C library. */#ifndef	HAVE_BZERO#define	bzero(ptr,n)		memset(ptr, 0, n)/* $$.If bzero$$ *//* $$.If memset$$ */#endif/* Older resolvers do not have gethostbyname2() */#ifndef	HAVE_GETHOSTBYNAME2#define	gethostbyname2(host,family)		gethostbyname((host))#endif/* We need the newer CMSG_LEN() and CMSG_SPACE() macros, but few   implementations support them today.  These two macros really need    an ALIGN() macro, but each implementation does this differently. */#ifndef	CMSG_LEN/* $$.Ic CMSG_LEN$$ */#define	CMSG_LEN(size)		(sizeof(struct cmsghdr) + (size))#endif#ifndef	CMSG_SPACE/* $$.Ic CMSG_SPACE$$ */#define	CMSG_SPACE(size)	(sizeof(struct cmsghdr) + (size))#endif/* Posix.1g renames "Unix domain" as "local IPC".   But not all systems DefinE AF_LOCAL and AF_LOCAL (yet). */#ifndef	AF_LOCAL#define AF_LOCAL	AF_UNIX#endif#ifndef	PF_LOCAL#define PF_LOCAL	PF_UNIX#endif/* Posix.1g requires that an #include of <poll.h> DefinE INFTIM, but many   systems still DefinE it in <sys/stropts.h>.  We don't want to include   all the streams stuff if it's not needed, so we just DefinE INFTIM here.   This is the standard value, but there's no guarantee it is -1. */#ifndef INFTIM#define INFTIM          (-1)    /* infinite poll timeout *//* $$.Ic INFTIM$$ */#ifdef	HAVE_POLL_H#define	INFTIM_UNPH				/* tell unpxti.h we defined it */#endif#endif/* Following could be derived from SOMAXCONN in <sys/socket.h>, but many   kernels still #define it as 5, while actually supporting many more */#define	LISTENQ		1024	/* 2nd argument to listen() *//* Miscellaneous constants */#define	MAXLINE		4096	/* max text line length */#define	MAXSOCKADDR  128	/* max socket address structure size */#define	BUFFSIZE	8192	/* buffer size for reads and writes *//* Following shortens all the type casts of pointer arguments */#define	SA	struct sockaddr#define	FILE_MODE	(S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)					/* default file access permissions for new files */#define	DIR_MODE	(FILE_MODE | S_IXUSR | S_IXGRP | S_IXOTH)					/* default permissions for new directories */typedef	void	Sigfunc(int);	/* for signal handlers */#define	min(a,b)	((a) < (b) ? (a) : (b))#define	max(a,b)	((a) > (b) ? (a) : (b))			/* prototypes for our own library functions */void	 daemon_init(const char *, int);Sigfunc *signal_intr(int, Sigfunc *);int		 tcp_connect(const char *, const char *);int		 tcp_listen(const char *, const char *, socklen_t *);int		 udp_client(const char *, const char *, void **, socklen_t *);int		 udp_connect(const char *, const char *);int		 udp_server(const char *, const char *, socklen_t *);#ifndef	HAVE_INET_PTON_PROTOint			 inet_pton(int, const char *, void *);const char	*inet_ntop(int, const void *, char *, size_t);#endif#ifndef	HAVE_INET_ATON_PROTO// int		 inet_aton(const char *, struct in_addr *);#endif#ifndef	HAVE_ISFDTYPE_PROTOint		 isfdtype(int, int);#endif#ifndef	HAVE_SNPRINTF_PROTOint		 snprintf(char *, size_t, const char *, ...);#endif			/* prototypes for our own library wrapper functions */const char		*Inet_ntop(int, const void *, char *, size_t);void			 Inet_pton(int, const char *, void *);char			*If_indextoname(unsigned int, char *);Sigfunc *Signal(int, Sigfunc *);Sigfunc *Signal_intr(int, Sigfunc *);int		 Sock_bind_wild(int, int);int		 Tcp_connect(const char *, const char *);int		 Tcp_listen(const char *, const char *, socklen_t *);int		 Udp_client(const char *, const char *, void **, socklen_t *);int		 Udp_connect(const char *, const char *);int		 Udp_server(const char *, const char *, socklen_t *);			/* prototypes for our Unix wrapper functions: see {Sec errors} */void	*Calloc(size_t, size_t);void	 Close(int);void	 Dup2(int, int);int		 Fcntl(int, int, int);void	 Gettimeofday(struct timeval *, void *);int		 Ioctl(int, int, void *);pid_t	 Fork(void);void	*Malloc(size_t);void	 Mktemp(char *);void	*Mmap(void *, size_t, int, int, int, off_t);int		 Open(const char *, int, mode_t);void	 Pipe(int *fds);ssize_t	 Read(int, void *, size_t);void	 Sigaddset(sigset_t *, int);void	 Sigdelset(sigset_t *, int);void	 Sigemptyset(sigset_t *);void	 Sigfillset(sigset_t *);int		 Sigismember(const sigset_t *, int);void	 Sigpending(sigset_t *);void	 Sigprocmask(int, const sigset_t *, sigset_t *);char	*Strdup(const char *);long	 Sysconf(int);void	 Sysctl(int *, u_int, void *, size_t *, void *, size_t);void	 Unlink(const char *);pid_t	 Wait(int *);pid_t	 Waitpid(pid_t, int *, int);void	 Write(int, void *, size_t);			/* prototypes for our stdio wrapper functions: see {Sec errors} */void	 Fclose(FILE *);FILE	*Fdopen(int, const char *);char	*Fgets(char *, int, FILE *);FILE	*Fopen(const char *, const char *);void	 Fputs(const char *, FILE *);			/* prototypes for our socket wrapper functions: see {Sec errors} */int		 Accept(int, SA *, socklen_t *);void	 Bind(int, const SA *, socklen_t);void	 Connect(int, const SA *, socklen_t);void	 Getpeername(int, SA *, socklen_t *);void	 Getsockname(int, SA *, socklen_t *);void	 Getsockopt(int, int, int, void *, socklen_t *);int		 Isfdtype(int, int);void	 Listen(int, int);#ifdef	HAVE_POLLint		 Poll(struct pollfd *, unsigned long, int);#endifssize_t	 Readline(int, void *, size_t);ssize_t	 Readn(int, void *, size_t);ssize_t	 Recv(int, void *, size_t, int);ssize_t	 Recvfrom(int, void *, size_t, int, SA *, socklen_t *);ssize_t	 Recvmsg(int, struct msghdr *, int);int		 Select(int, fd_set *, fd_set *, fd_set *, struct timeval *);void	 Send(int, const void *, size_t, int);void	 Sendto(int, const void *, size_t, int, const SA *, socklen_t);void	 Sendmsg(int, const struct msghdr *, int);void	 Setsockopt(int, int, int, const void *, socklen_t);void	 Shutdown(int, int);int		 Socket(int, int, int);void	 Socketpair(int, int, int, int *);void	 Writen(int, void *, size_t);unsigned long Getaddr(char *);void	 err_dump(const char *, ...);void	 err_msg(const char *, ...);void	 err_quit(const char *, ...);void	 err_ret(const char *, ...);void	 err_sys(const char *, ...);/* * Socket wrapper functions. * These could all go into separate files, so only the ones needed cause * the corresponding function to be added to the executable.  If sockets * are a library (SVR4) this might make a difference (?), but if sockets * are in the kernel (BSD) it doesn't matter. * * These wrapper functions also use the same prototypes as POSIX.1g, * which might differ from many implementations (i.e., POSIX.1g specifies * the fourth argument to getsockopt() as "void *", not "char *"). * * If your system's headers are not correct [i.e., the Solaris 2.5 * <sys/socket.h> omits the "const" from the second argument to both * bind() and connect()], you'll get warnings of the form: *warning: passing arg 2 of `bind' discards `const' from pointer target type *warning: passing arg 2 of `connect' discards `const' from pointer target type */	intAccept(int fd, struct sockaddr *sa, socklen_t *salenptr){	int		n;again:	if ( (n = accept(fd, sa, salenptr)) < 0) {#ifdef	EPROTO		if (errno == EPROTO || errno == ECONNABORTED)#else		if (errno == ECONNABORTED)#endif			goto again;		else			err_sys("accept error");	}	return(n);}voidBind(int fd, const struct sockaddr *sa, socklen_t salen){	if (bind(fd, sa, salen) < 0)		err_sys("bind error");}voidConnect(int fd, const struct sockaddr *sa, socklen_t salen){	if (connect(fd, sa, salen) < 0)		err_sys("connect error");}voidGetpeername(int fd, struct sockaddr *sa, socklen_t *salenptr){	if (getpeername(fd, sa, salenptr) < 0)		err_sys("getpeername error");}voidGetsockname(int fd, struct sockaddr *sa, socklen_t *salenptr){	if (getsockname(fd, sa, salenptr) < 0)		err_sys("getsockname error");}voidGetsockopt(int fd, int level, int optname, void *optval, socklen_t *optlenptr){	if (getsockopt(fd, level, optname, optval, optlenptr) < 0)		err_sys("getsockopt error");}intIsfdtype(int fd, int fdtype){	int		n;	if ( (n = isfdtype(fd, fdtype)) < 0)		err_sys("isfdtype error");	return(n);}/* include Listen */voidListen(int fd, int backlog){	char	*ptr;		/*4can override 2nd argument with environment variable */	if ( (ptr = getenv("LISTENQ")) != NULL)		backlog = atoi(ptr);	if (listen(fd, backlog) < 0)		err_sys("listen error");}/* end Listen */#ifdef	HAVE_POLLintPoll(struct pollfd *fdarray, unsigned long nfds, int timeout){	int		n;	if ( (n = poll(fdarray, nfds, timeout)) < 0)		err_sys("poll error");	return(n);}#endifssize_tRecv(int fd, void *ptr, size_t nbytes, int flags){	ssize_t		n;	if ( (n = recv(fd, ptr, nbytes, flags)) < 0)		err_sys("recv error");	return(n);}ssize_tRecvfrom(int fd, void *ptr, size_t nbytes, int flags,		 struct sockaddr *sa, socklen_t *salenptr){	ssize_t		n;	if ( (n = recvfrom(fd, ptr, nbytes, flags, sa, salenptr)) < 0)		err_sys("recvfrom error");	return(n);}ssize_tRecvmsg(int fd, struct msghdr *msg, int flags){	ssize_t		n;	if ( (n = recvmsg(fd, msg, flags)) < 0)		err_sys("recvmsg error");	return(n);}intSelect(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,       struct timeval *timeout){	int		n;	if ( (n = select(nfds, readfds, writefds, exceptfds, timeout)) < 0)		err_sys("select error");	return(n);		/* can return 0 on timeout */}voidSend(int fd, const void *ptr, size_t nbytes, int flags){	if (send(fd, ptr, nbytes, flags) != nbytes)		err_sys("send error");}voidSendto(int fd, const void *ptr, size_t nbytes, int flags,	   const struct sockaddr *sa, socklen_t salen){	if (sendto(fd, ptr, nbytes, flags, sa, salen) != nbytes)		err_sys("sendto error");}voidSendmsg(int fd, const struct msghdr *msg, int flags){	int			i;	ssize_t		nbytes;	nbytes = 0;	/* must first figure out what return value should be */	for (i = 0; i < msg->msg_iovlen; i++)		nbytes += msg->msg_iov[i].iov_len;	if (sendmsg(fd, msg, flags) != nbytes)		err_sys("sendmsg error");}voidSetsockopt(int fd, int level, int optname, const void *optval, socklen_t optlen){	if (setsockopt(fd, level, optname, optval, optlen) < 0)		err_sys("setsockopt error");}voidShutdown(int fd, int how){	if (shutdown(fd, how) < 0)		err_sys("shutdown error");}/* include Socket */intSocket(int family, int type, int protocol){	int		n;	if ( (n = socket(family, type, protocol)) < 0)		err_sys("socket error");	return(n);}/* end Socket */voidSocketpair(int family, int type, int protocol, int *fd){	int		n;	if ( (n = socketpair(family, type, protocol, fd)) < 0)		err_sys("socketpair error");}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久噜噜噜久久人人看 | 日韩经典中文字幕一区| 99re这里只有精品6| 国产精品丝袜黑色高跟| 本田岬高潮一区二区三区| 一区在线观看免费| 一本大道久久精品懂色aⅴ| 亚洲综合视频在线| 欧美精品久久久久久久久老牛影院| 日韩精品一级二级| 精品成人一区二区| 色综合久久综合中文综合网| 亚洲福利视频一区| 亚洲精品一线二线三线| 99这里都是精品| 午夜影院在线观看欧美| 精品国产乱码久久久久久闺蜜 | 午夜电影网一区| 日韩欧美国产一区在线观看| 国产大片一区二区| 亚洲欧美日韩人成在线播放| 欧美麻豆精品久久久久久| 久久99精品国产麻豆不卡| 国产精品剧情在线亚洲| 欧美理论电影在线| 粉嫩av一区二区三区粉嫩 | 国产精品三级在线观看| 91久久线看在观草草青青| 蜜臀av性久久久久蜜臀aⅴ四虎 | 亚洲天堂中文字幕| 欧美一二三四区在线| 成人免费毛片a| 日韩精品一二三区| 亚洲三级在线观看| 欧美精品一区二区三区一线天视频| 91丨九色porny丨蝌蚪| 久久99日本精品| 亚洲激情自拍视频| 久久一留热品黄| 欧美日韩在线免费视频| 风流少妇一区二区| 奇米亚洲午夜久久精品| 亚洲色图制服诱惑| 国产日韩欧美电影| 欧美一卡二卡三卡四卡| 91色九色蝌蚪| 国产精品一二二区| 久久精品国产精品亚洲综合| 亚洲午夜电影网| 国产精品国产三级国产普通话蜜臀 | 在线播放日韩导航| 成人av电影在线| 美女免费视频一区二区| 一区二区三区在线视频观看 | 亚洲欧洲中文日韩久久av乱码| 精品欧美一区二区在线观看| 欧美亚洲综合网| 99视频在线观看一区三区| 国产资源在线一区| 另类小说视频一区二区| 亚洲午夜精品网| 亚洲最大成人网4388xx| 椎名由奈av一区二区三区| 欧美国产精品一区二区| 久久午夜色播影院免费高清| 欧美va亚洲va香蕉在线| 91精品国产一区二区三区香蕉| 欧美亚洲日本一区| 色婷婷激情综合| 99久久久国产精品| a级精品国产片在线观看| 成人伦理片在线| 成人精品国产一区二区4080| 国产精品一区二区在线观看网站| 国产在线精品视频| 国产美女精品一区二区三区| 国产在线视视频有精品| 国产原创一区二区| 国产成人一区二区精品非洲| 国产999精品久久久久久| 国产精品资源在线看| 国产乱码精品一区二区三| 国产精品一区二区男女羞羞无遮挡| 国产一区啦啦啦在线观看| 国产一区久久久| www.性欧美| 欧美在线一区二区| 欧美日韩中文另类| 日韩亚洲欧美综合| 精品国产三级电影在线观看| 久久精品一区二区三区四区| 欧美极品aⅴ影院| 亚洲人吸女人奶水| 亚洲国产aⅴ成人精品无吗| 丝袜国产日韩另类美女| 久久精品国内一区二区三区| 国产大片一区二区| 91啪亚洲精品| 欧美丰满一区二区免费视频| 精品美女在线观看| 亚洲欧洲精品天堂一级| 亚洲国产乱码最新视频 | 成人免费一区二区三区视频| 亚洲激情自拍偷拍| 麻豆精品在线播放| 国产99精品视频| 欧美视频在线一区| 日韩免费在线观看| 国产精品九色蝌蚪自拍| 偷拍一区二区三区四区| 精品亚洲国产成人av制服丝袜| 粉嫩绯色av一区二区在线观看| 一本久久综合亚洲鲁鲁五月天| 在线综合亚洲欧美在线视频| 国产日韩亚洲欧美综合| 一区二区三区四区激情| 久久99精品国产.久久久久| 91在线观看污| 日韩一区二区不卡| 国产精品白丝在线| 免费在线欧美视频| 一本久道中文字幕精品亚洲嫩| 91麻豆精品国产91久久久久 | 亚洲成人av电影在线| 国产精品一区免费视频| 欧美日韩精品久久久| 国产目拍亚洲精品99久久精品| 亚洲图片欧美一区| 处破女av一区二区| 欧美成人精品二区三区99精品| 亚洲免费在线视频一区 二区| 久久精品久久精品| 欧美日精品一区视频| 国产精品丝袜91| 国产综合久久久久影院| 精品视频全国免费看| 亚洲欧洲美洲综合色网| 国产精品影音先锋| 欧美一级高清片| 亚洲一区二区免费视频| 99久久久精品免费观看国产蜜| 久久久蜜桃精品| 老司机午夜精品| 欧美视频一区二区三区在线观看 | 欧美tk丨vk视频| 亚洲成人黄色影院| 色综合久久综合中文综合网| 欧美激情一区在线观看| 黄色资源网久久资源365| 欧美日韩国产经典色站一区二区三区| 中文字幕视频一区| 国产成人免费视频一区| 精品国产麻豆免费人成网站| 日本成人中文字幕在线视频| 欧美三电影在线| 亚洲一区二区三区在线| 色素色在线综合| 一区二区三区欧美日韩| av爱爱亚洲一区| 国产精品久久免费看| 国产99久久久精品| 国产精品午夜免费| 国产米奇在线777精品观看| 欧美一区二区三级| 欧美a级一区二区| 欧美一区二区三区在线电影| 香蕉久久一区二区不卡无毒影院 | 久久这里只有精品视频网| 久久激情五月婷婷| 日韩精品一区二区三区中文不卡| 视频一区二区中文字幕| 欧美一区二区三区四区五区| 婷婷国产v国产偷v亚洲高清| 欧美精品 日韩| 强制捆绑调教一区二区| 欧美精品一区二区三区在线| 欧美男女性生活在线直播观看| 自拍偷自拍亚洲精品播放| 91免费版在线看| 亚洲精品日韩专区silk | 欧美一区二区三区免费大片| 老色鬼精品视频在线观看播放| 日韩欧美在线影院| 久久99久久久欧美国产| 久久久久久日产精品| 大白屁股一区二区视频| 亚洲美女偷拍久久| 欧美日韩国产欧美日美国产精品| 天天影视色香欲综合网老头| 欧美一区二区三区在线| 国产专区欧美精品| 亚洲欧洲国产日本综合| 欧美日本一区二区| 国内精品免费**视频| 国产精品久久久久久亚洲毛片| 色噜噜狠狠成人中文综合 | 精品剧情在线观看| 成人h版在线观看| 亚洲成年人影院| 欧美电视剧免费全集观看|