unisocktype.h

来自「积下的一点C++编程序库源码」· C头文件 代码 · 共 68 行

H
68
字号
//////////////////UniSockType.h////////////////////
#ifndef UNI_SOCK_TYPE_H
#define UNI_SOCK_TYPE_H 1
//////////////////////////////////////////////////////////////////////////////


//文件名		: UniSockType.h

//功能			: 屏敝Windows 和 Linux两种系统对SOCKET 的不同之处

//创建			: 2003.11.27

//修改日期		: 2004.4.9

//作者			: 韩国静
//

#include "public/UniType.h"
#if	UNI_CURRENT_SYSTEM==MS_WINDOWS
//////////////////////Windows//////////////////////////
#include "WinSock2.h"
#pragma comment (lib, "Ws2_32.lib")
typedef SOCKET UNI_SOCKET;
#define UNI_IPPROTO_IP     IPPROTO_IP
#define UNI_INVALID_SOCKET INVALID_SOCKET
typedef WSADATA UNI_SADATA;
typedef sockaddr_in UNI_sockaddr;
typedef int UNI_SOCKLEN;

typedef SOCKADDR * UNI_PSOCKADDR;

inline  UNI_BOOL UNI_Initialize(UNI_SADATA *pdata)
{
	return WSAStartup(0x0101,pdata)?UNI_FALSE:UNI_TRUE;
}

inline  UNI_BOOL UNI_UnInitialize()
{
	return WSACleanup()?UNI_FALSE:UNI_TRUE;
}

#define UNI_CloseSock(sock) closesocket(sock)
///////////////////////////////////////////////////////
#endif//UNI_CURRENT_SYSTEM==MS_WINDOWS

#if	UNI_CURRENT_SYSTEM==OS_LINUX
/////////////////Linux//////////////////////////////////
#include "sys/socket.h"
#include "netinet/in.h"
#include "unistd.h"
typedef int UNI_SOCKET;
#define UNI_IPPROTO_IP     0
#define SOCKET_ERROR	-1
typedef int UNI_SADATA;
typedef struct sockaddr UNI_sockaddr;
typedef socklen_t  UNI_SOCKLEN;

typedef struct sockaddr * UNI_PSOCKADDR;

#define UNI_INVALID_SOCKET -1
#define UNI_Initialize(data) UNI_TRUE
#define UNI_UnInitialize() 0
#define UNI_CloseSock(sock) close(sock)
/////////////////////////////////////////////////////
#endif//UNI_CURRENT_SYSTEM==OS_LINUX

#endif

⌨️ 快捷键说明

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