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

📄 winsock.h

📁 手机windows mobile平台的rtsp实现,仅包含rtsp部分的实现.
💻 H
📖 第 1 页 / 共 2 页
字号:
/*  Definitions for winsock 1.1    Portions Copyright (c) 1980, 1983, 1988, 1993  The Regents of the University of California.  All rights reserved.  Portions Copyright (c) 1993 by Digital Equipment Corporation. */#ifndef _WINSOCK_H#define _WINSOCK_H#if __GNUC__ >=3#pragma GCC system_header#endif#define _GNU_H_WINDOWS32_SOCKETS#include <windows.h>#ifdef __cplusplusextern "C" {#endif#if !defined ( _BSDTYPES_DEFINED )/* also defined in gmon.h and in cygwin's sys/types */typedef unsigned char	u_char;typedef unsigned short	u_short;typedef unsigned int	u_int;typedef unsigned long	u_long;#define _BSDTYPES_DEFINED#endif /* !defined  _BSDTYPES_DEFINED */typedef u_int	SOCKET;#ifndef FD_SETSIZE#define FD_SETSIZE	64#endif/* shutdown() how types */#define SD_RECEIVE      0x00#define SD_SEND         0x01#define SD_BOTH         0x02#ifndef _SYS_TYPES_FD_SET/* fd_set may have be defined by the newlib <sys/types.h> * if  __USE_W32_SOCKETS not defined. */#ifdef fd_set#undef fd_set#endiftypedef struct fd_set {	u_int   fd_count;	SOCKET  fd_array[FD_SETSIZE];} fd_set;int PASCAL __WSAFDIsSet(SOCKET,fd_set*);#ifndef FD_CLR#define FD_CLR(fd,set) do { u_int __i;\for (__i = 0; __i < ((fd_set *)(set))->fd_count ; __i++) {\	if (((fd_set *)(set))->fd_array[__i] == (fd)) {\	while (__i < ((fd_set *)(set))->fd_count-1) {\		((fd_set*)(set))->fd_array[__i] = ((fd_set*)(set))->fd_array[__i+1];\		__i++;\	}\	((fd_set*)(set))->fd_count--;\	break;\	}\}\} while (0)#endif#ifndef FD_SET#define FD_SET(fd, set) do { \    if (((fd_set *)(set))->fd_count < FD_SETSIZE) \	((fd_set *)(set))->fd_array[((fd_set *)(set))->fd_count++]=(fd);\}while (0)#endif#ifndef FD_ZERO#define FD_ZERO(set) (((fd_set *)(set))->fd_count=0)#endif#ifndef FD_ISSET#define FD_ISSET(fd, set) __WSAFDIsSet((SOCKET)(fd), (fd_set *)(set))#endif#elif !defined(USE_SYS_TYPES_FD_SET)#warning "fd_set and associated macros have been defined in sys/types.  \    This can cause runtime problems with W32 sockets" #endif /* ndef _SYS_TYPES_FD_SET */#if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))#ifndef _TIMEVAL_DEFINED /* also in sys/time.h */#define _TIMEVAL_DEFINEDstruct timeval {	long    tv_sec;	long    tv_usec;};#define timerisset(tvp)	 ((tvp)->tv_sec || (tvp)->tv_usec)#define timercmp(tvp, uvp, cmp) \	(((tvp)->tv_sec != (uvp)->tv_sec) ? \	((tvp)->tv_sec cmp (uvp)->tv_sec) : \	((tvp)->tv_usec cmp (uvp)->tv_usec))#define timerclear(tvp)	 (tvp)->tv_sec = (tvp)->tv_usec = 0#endif /* _TIMEVAL_DEFINED */struct  hostent {	char	*h_name;	char	**h_aliases;	short	h_addrtype;	short	h_length;	char	**h_addr_list;#define h_addr h_addr_list[0]};struct linger {	u_short l_onoff;	u_short l_linger;};#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */#define IOCPARM_MASK	0x7f#define IOC_VOID	0x20000000#define IOC_OUT	0x40000000#define IOC_IN	0x80000000#define IOC_INOUT	(IOC_IN|IOC_OUT)#if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))#define _IO(x,y)	(IOC_VOID|((x)<<8)|(y))#define _IOR(x,y,t)	(IOC_OUT|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))#define _IOW(x,y,t)	(IOC_IN|(((long)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))#define FIONBIO	_IOW('f', 126, u_long)#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */#define FIONREAD	_IOR('f', 127, u_long)#define FIOASYNC	_IOW('f', 125, u_long)#define SIOCSHIWAT	_IOW('s',  0, u_long)#define SIOCGHIWAT	_IOR('s',  1, u_long)#define SIOCSLOWAT	_IOW('s',  2, u_long)#define SIOCGLOWAT	_IOR('s',  3, u_long)#define SIOCATMARK	_IOR('s',  7, u_long)#if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))struct netent {	char	* n_name;	char	**n_aliases;	short	n_addrtype;	u_long n_net;};struct  servent {	char	*s_name;	char	**s_aliases;	short	s_port;	char	*s_proto;};struct  protoent {	char	*p_name;	char	**p_aliases;	short	p_proto;};#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */#define IPPROTO_IP	0#define IPPROTO_ICMP	1#define IPPROTO_IGMP 2#define IPPROTO_GGP 3#define IPPROTO_TCP	6#define IPPROTO_PUP	12#define IPPROTO_UDP	17#define IPPROTO_IDP	22#define IPPROTO_ND	77#define IPPROTO_RAW	255#define IPPROTO_MAX	256#define IPPORT_ECHO	7#define IPPORT_DISCARD	9#define IPPORT_SYSTAT	11#define IPPORT_DAYTIME  13#define IPPORT_NETSTAT  15#define IPPORT_FTP      21#define IPPORT_TELNET   23#define IPPORT_SMTP     25#define IPPORT_TIMESERVER 37#define IPPORT_NAMESERVER 42#define IPPORT_WHOIS	43#define IPPORT_MTP	57#define IPPORT_TFTP	69#define IPPORT_RJE	77#define IPPORT_FINGER	79#define IPPORT_TTYLINK	87#define IPPORT_SUPDUP	95#define IPPORT_EXECSERVER	512#define IPPORT_LOGINSERVER	513#define IPPORT_CMDSERVER	514#define IPPORT_EFSSERVER	520#define IPPORT_BIFFUDP	512#define IPPORT_WHOSERVER	513#define IPPORT_ROUTESERVER	520#define IPPORT_RESERVED	1024#define IMPLINK_IP	155#define IMPLINK_LOWEXPER	156#define IMPLINK_HIGHEXPER       158struct in_addr {	union {		struct { u_char s_b1,s_b2,s_b3,s_b4; } S_un_b;		struct { u_short s_w1,s_w2; } S_un_w;		u_long S_addr;	} S_un;#define s_addr  S_un.S_addr#define s_host  S_un.S_un_b.s_b2#define s_net   S_un.S_un_b.s_b1#define s_imp   S_un.S_un_w.s_w2#define s_impno S_un.S_un_b.s_b4#define s_lh    S_un.S_un_b.s_b3};#define IN_CLASSA(i)	((long)(i)&0x80000000)#define IN_CLASSA_NET	0xff000000#define IN_CLASSA_NSHIFT	24#define IN_CLASSA_HOST	0x00ffffff#define IN_CLASSA_MAX	128#define IN_CLASSB(i)	(((long)(i)&0xc0000000)==0x80000000)#define IN_CLASSB_NET	   0xffff0000#define IN_CLASSB_NSHIFT	16#define IN_CLASSB_HOST	  0x0000ffff#define IN_CLASSB_MAX	   65536#define IN_CLASSC(i)	(((long)(i)&0xe0000000)==0xc0000000)#define IN_CLASSC_NET	   0xffffff00#define IN_CLASSC_NSHIFT	8#define IN_CLASSC_HOST	  0xff#define INADDR_ANY	      (u_long)0#define INADDR_LOOPBACK	 0x7f000001#define INADDR_BROADCAST	(u_long)0xffffffff#define INADDR_NONE	0xffffffffstruct sockaddr_in {	short	sin_family;	u_short	sin_port;	struct	in_addr sin_addr;	char	sin_zero[8];};#define WSADESCRIPTION_LEN	256#define WSASYS_STATUS_LEN	128typedef struct WSAData {	WORD	wVersion;	WORD	wHighVersion;	char	szDescription[WSADESCRIPTION_LEN+1];	char	szSystemStatus[WSASYS_STATUS_LEN+1];	unsigned short	iMaxSockets;	unsigned short	iMaxUdpDg;	char * 	lpVendorInfo;} WSADATA;typedef WSADATA *LPWSADATA;#if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))#define IP_OPTIONS	1#define SO_DEBUG	1#define SO_ACCEPTCONN	2#define SO_REUSEADDR	4#define SO_KEEPALIVE	8#define SO_DONTROUTE	16#define SO_BROADCAST	32#define SO_USELOOPBACK	64#define SO_LINGER	128#define SO_OOBINLINE	256#define SO_DONTLINGER	(u_int)(~SO_LINGER)#define SO_SNDBUF	0x1001#define SO_RCVBUF	0x1002#define SO_SNDLOWAT	0x1003#define SO_RCVLOWAT	0x1004#define SO_SNDTIMEO	0x1005#define SO_RCVTIMEO	0x1006#define SO_ERROR	0x1007#define SO_TYPE	0x1008#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) *//* * Note that the next 5 IP defines are specific to WinSock 1.1 (wsock32.dll). * They will cause errors or unexpected results if used with the * (gs)etsockopts exported from the WinSock 2 lib, ws2_32.dll. Refer ws2tcpip.h. */         #define IP_MULTICAST_IF	2

⌨️ 快捷键说明

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