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

📄 socket.h

📁 关系型数据库 Postgresql 6.5.2
💻 H
字号:
/* File:            socket.h * * Description:     See "socket.c" * * Comments:        See "notice.txt" for copyright and license information. * */#ifndef __SOCKET_H__#define __SOCKET_H__#ifdef HAVE_CONFIG_H#include "config.h"#endif#ifndef WIN32#include <sys/types.h>#include <sys/socket.h>#include <unistd.h>#include <netdb.h>#include <netinet/in.h>#include <arpa/inet.h>#define closesocket(xxx) close(xxx)#define SOCKETFD int#ifndef       INADDR_NONE#ifndef _IN_ADDR_T#define _IN_ADDR_Ttypedef unsigned int    in_addr_t;#endif#define INADDR_NONE ((in_addr_t)-1)#endif#else#include <winsock.h>#define SOCKETFD SOCKET#endif#include "psqlodbc.h"#define SOCKET_ALREADY_CONNECTED 1#define SOCKET_HOST_NOT_FOUND 2#define SOCKET_COULD_NOT_CREATE_SOCKET 3#define SOCKET_COULD_NOT_CONNECT 4#define SOCKET_READ_ERROR 5#define SOCKET_WRITE_ERROR 6#define SOCKET_NULLPOINTER_PARAMETER 7#define SOCKET_PUT_INT_WRONG_LENGTH 8#define SOCKET_GET_INT_WRONG_LENGTH 9#define SOCKET_CLOSED 10struct SocketClass_ {	int buffer_filled_in;	int buffer_filled_out;	int buffer_read_in;	unsigned char *buffer_in;	unsigned char *buffer_out;	SOCKETFD socket;	char *errormsg;	int errornumber;	char reverse;	/* used to handle Postgres 6.2 protocol (reverse byte order) */};#define SOCK_get_char(self)		(SOCK_get_next_byte(self))#define SOCK_put_char(self, c)	(SOCK_put_next_byte(self, c))/* error functions */#define SOCK_get_errcode(self)		(self->errornumber)#define SOCK_get_errmsg(self)		(self->errormsg)/* Socket prototypes */SocketClass *SOCK_Constructor(void);void SOCK_Destructor(SocketClass *self);char SOCK_connect_to(SocketClass *self, unsigned short port, char *hostname);void SOCK_get_n_char(SocketClass *self, char *buffer, int len);void SOCK_put_n_char(SocketClass *self, char *buffer, int len);void SOCK_get_string(SocketClass *self, char *buffer, int bufsize);void SOCK_put_string(SocketClass *self, char *string);int SOCK_get_int(SocketClass *self, short len);void SOCK_put_int(SocketClass *self, int value, short len);void SOCK_flush_output(SocketClass *self);unsigned char SOCK_get_next_byte(SocketClass *self);void SOCK_put_next_byte(SocketClass *self, unsigned char next_byte);void SOCK_clear_error(SocketClass *self);#endif

⌨️ 快捷键说明

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