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

📄 net.h

📁 ACE自适配通信环境(ADAPTIVE Communication Environment)是可以自由使用、开放源码的面向对象(OO)框架(Framework)
💻 H
字号:
/* * net.h,v 1.3 2000/06/04 22:00:03 brunsch Exp * * Copyright (c) 1994, 1995.  Netscape Communications Corporation.  All * rights reserved. * * Use of this software is governed by the terms of the license agreement for * the Netscape Communications or Netscape Comemrce Server between the * parties. *//* ------------------------------------------------------------------------ *//* * net.h: system specific networking definitions * * Rob McCool */#ifndef NET_H#define NET_H#include "systems.h"#include "file.h"       /* for client file descriptors */#include "pblock.h"     /* for client data block *//* This should be a user-given parameter later */#define NET_BUFFERSIZE 8192/* So should this. */#define NET_READ_TIMEOUT 120#define NET_WRITE_TIMEOUT 300#define SSL_HANDSHAKE_TIMEOUT 300#if defined(NET_SOCKETS) || defined(NET_SSL)#ifdef NET_WINSOCK#include <winsock.h>#else /* XP_UNIX */#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h> /* sockaddr and in_addr */#include <arpa/inet.h>  /* inet_ntoa */#include <netdb.h>      /* hostent stuff */#endif /* NET_WINSOCK */#ifdef NET_SSL#include "minissl.h"#endif/* -------------------------------- Global -------------------------------- */extern int net_enabledns;/* ------------------------------ Data types ------------------------------ */#ifdef NET_WINSOCKtypedef SOCKET SYS_NETFD;#else /* XP_UNIX */typedef int SYS_NETFD;#endif /* NET_WINSOCK */#define SYS_NET_ERRORFD -1/* -------------------------------- Macros -------------------------------- *//* These may be different for non-UNIX systems. */#ifndef NET_SSL#define net_socket socket#define net_setsockopt setsockopt#define net_getsockopt getsockopt#define net_listen listen#define net_select select#define net_getpeername getpeername#ifndef NET_WINSOCK#define net_close(sd) close(sd)#define net_bind bind#else /* NET_WINSOCK */#define net_close(sd) closesocket(sd)#define system_netbind bindint net_bind(SYS_NETFD s, const struct sockaddr *name, int namelen);#endif /* NET_WINSOCK */#ifdef DAEMON_NEEDS_SEMAPHORE#define net_accept net_semaccept#else  /* ! DAEMON_NEEDS_SEMAPHORE */#define net_accept accept#endif /* DAEMON_NEEDS_SEMAPHORE */#else /* NET_SSL */#define net_close(sd) SSL_Close(sd)#define net_socket SSL_Socket#define net_setsockopt SSL_SetSockOpt#define net_getsockopt SSL_GetSockOpt#ifdef XP_UNIX#define net_bind SSL_Bind#else /* WIN32 */#define system_netbind SSL_Bindint net_bind(SYS_NETFD s, const struct sockaddr *name, int namelen);#endif /* XP_UNIX */#define net_listen SSL_Listen#define net_select select /* !!! */#define net_getpeername SSL_GetPeerName#define net_accept SSL_Accept#endif /* ! NET_SSL *//* Users should never call the system_net* functions.  */#ifdef NET_SSL#define system_netread(sd, buf, sz) SSL_Read(sd, buf, sz)#define system_netwrite SSL_Write#else  /* ! NET_SSL */#if !defined(NET_WINSOCK)#define system_netread(sd, buf, sz) read(sd, buf, sz)#define system_netwrite write#else /* NET_WINSOCK */#define system_netread(sd, buf, sz) recv(sd, buf, sz, 0)#define system_netwrite(sd, buf, sz) send(sd, buf, sz, 0)#endif /* ! NET_WINSOCK */#endif /* NET_SSL */int net_read(SYS_NETFD sd, char *buf, int sz, int timeout);int net_write(SYS_NETFD sd, char *buf, int sz);#ifdef DAEMON_NEEDS_SEMAPHOREint net_semaccept_init(int port);int net_semaccept(int s, struct sockaddr *addr, int *addrlen);void net_semaccept_terminate(void);#endif/* ------------------------------ Prototypes ------------------------------ *//* * net_find_fqdn looks through the given hostent structure trying to find * a FQDN for the host. If it finds none, it returns NULL. Otherwise, it * returns a newly allocated copy of that string. */char *net_find_fqdn(struct hostent *p);/* * net_ip2host transforms the given textual IP number into a FQDN. If it * can't find a FQDN, it will return what it can get. Otherwise, NULL. * * verify is whether or not the function should verify the hostname it * gets. This takes an extra query but is safer for use in access control. */char *net_ip2host(char *ip, int verify);/* * net_sendmail sends mail to the specified recipient with the given subject * and message. Currently uses external programs. */int net_sendmail(char *to, char *subject, char *msg);#endif#endif

⌨️ 快捷键说明

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