File: hsocket.h

package info (click to toggle)
hercules 3.13-1
  • links: PTS
  • area: main
  • in suites: buster
  • size: 14,132 kB
  • sloc: ansic: 175,124; sh: 8,780; makefile: 748; perl: 149
file content (153 lines) | stat: -rw-r--r-- 5,831 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
/* HSOCKET.H    (c) Copyright Roger Bowler, 2005-2009                */
/*              Equates for socket functions                         */

/*  This header file contains equates for the socket functions       */
/*  and constants whose values differ between Unix and Winsock       */

#if !defined(_HSOCKET_H)
#define _HSOCKET_H

#ifndef _HSOCKET_C_
#ifndef _HUTIL_DLL_
#define HSOCK_DLL_IMPORT DLL_IMPORT
#else   
#define HSOCK_DLL_IMPORT extern
#endif 
#else
#define HSOCK_DLL_IMPORT DLL_EXPORT
#endif

/*-------------------------------------------------------------------*/
/* Socket related constants related to 'shutdown' API call           */
/*-------------------------------------------------------------------*/

#ifdef _MSVC_

    /* Map SUS\*nix constants to Windows socket equivalents */

    #define  SHUT_RD     SD_RECEIVE
    #define  SHUT_WR     SD_SEND
    #define  SHUT_RDWR   SD_BOTH

#endif

#if defined(_WINSOCKAPI_)

/*-------------------------------------------------------------------*/
/* Equates for systems which use the Winsock API                     */
/*-------------------------------------------------------------------*/

#define get_HSO_errno()         ((int)WSAGetLastError())
#define set_HSO_errno(e)        (WSASetLastError(e))

#define HSO_errno               get_HSO_errno()

#define HSO_EINTR               WSAEINTR
#define HSO_EBADF               WSAEBADF
#define HSO_EACCES              WSAEACCES
#define HSO_EFAULT              WSAEFAULT
#define HSO_EINVAL              WSAEINVAL
#define HSO_EMFILE              WSAEMFILE
#define HSO_EWOULDBLOCK         WSAEWOULDBLOCK
#define HSO_EINPROGRESS         WSAEINPROGRESS
#define HSO_EALREADY            WSAEALREADY
#define HSO_ENOTSOCK            WSAENOTSOCK
#define HSO_EDESTADDRREQ        WSAEDESTADDRREQ
#define HSO_EMSGSIZE            WSAEMSGSIZE
#define HSO_EPROTOTYPE          WSAEPROTOTYPE
#define HSO_ENOPROTOOPT         WSAENOPROTOOPT
#define HSO_EPROTONOSUPPORT     WSAEPROTONOSUPPORT
#define HSO_ESOCKTNOSUPPORT     WSAESOCKTNOSUPPORT
#define HSO_EOPNOTSUPP          WSAEOPNOTSUPP
#define HSO_EPFNOSUPPORT        WSAEPFNOSUPPORT
#define HSO_EAFNOSUPPORT        WSAEAFNOSUPPORT
#define HSO_EADDRINUSE          WSAEADDRINUSE
#define HSO_EADDRNOTAVAIL       WSAEADDRNOTAVAIL
#define HSO_ENETDOWN            WSAENETDOWN
#define HSO_ENETUNREACH         WSAENETUNREACH
#define HSO_ENETRESET           WSAENETRESET
#define HSO_ECONNABORTED        WSAECONNABORTED
#define HSO_ECONNRESET          WSAECONNRESET
#define HSO_ENOBUFS             WSAENOBUFS
#define HSO_EISCONN             WSAEISCONN
#define HSO_ENOTCONN            WSAENOTCONN
#define HSO_ESHUTDOWN           WSAESHUTDOWN
#define HSO_ETOOMANYREFS        WSAETOOMANYREFS
#define HSO_ETIMEDOUT           WSAETIMEDOUT
#define HSO_ECONNREFUSED        WSAECONNREFUSED
#define HSO_ELOOP               WSAELOOP
#define HSO_ENAMETOOLONG        WSAENAMETOOLONG
#define HSO_EHOSTDOWN           WSAEHOSTDOWN
#define HSO_EHOSTUNREACH        WSAEHOSTUNREACH
#define HSO_ENOTEMPTY           WSAENOTEMPTY
#define HSO_EPROCLIM            WSAEPROCLIM
#define HSO_EUSERS              WSAEUSERS
#define HSO_EDQUOT              WSAEDQUOT
#define HSO_ESTALE              WSAESTALE
#define HSO_EREMOTE             WSAEREMOTE

#else

/*-------------------------------------------------------------------*/
/* Equates for systems which use the Berkeley sockets API            */
/*-------------------------------------------------------------------*/

#define get_HSO_errno()         (errno)
#define set_HSO_errno(e)        (errno=(e))

#define HSO_errno               get_HSO_errno()

#define HSO_EINTR               EINTR
#define HSO_EBADF               EBADF
#define HSO_EACCES              EACCES
#define HSO_EFAULT              EFAULT
#define HSO_EINVAL              EINVAL
#define HSO_EMFILE              EMFILE
#define HSO_EWOULDBLOCK         EWOULDBLOCK
#define HSO_EINPROGRESS         EINPROGRESS
#define HSO_EALREADY            EALREADY
#define HSO_ENOTSOCK            ENOTSOCK
#define HSO_EDESTADDRREQ        EDESTADDRREQ
#define HSO_EMSGSIZE            EMSGSIZE
#define HSO_EPROTOTYPE          EPROTOTYPE
#define HSO_ENOPROTOOPT         ENOPROTOOPT
#define HSO_EPROTONOSUPPORT     EPROTONOSUPPORT
#define HSO_ESOCKTNOSUPPORT     ESOCKTNOSUPPORT
#define HSO_EOPNOTSUPP          EOPNOTSUPP
#define HSO_EPFNOSUPPORT        EPFNOSUPPORT
#define HSO_EAFNOSUPPORT        EAFNOSUPPORT
#define HSO_EADDRINUSE          EADDRINUSE
#define HSO_EADDRNOTAVAIL       EADDRNOTAVAIL
#define HSO_ENETDOWN            ENETDOWN
#define HSO_ENETUNREACH         ENETUNREACH
#define HSO_ENETRESET           ENETRESET
#define HSO_ECONNABORTED        ECONNABORTED
#define HSO_ECONNRESET          ECONNRESET
#define HSO_ENOBUFS             ENOBUFS
#define HSO_EISCONN             EISCONN
#define HSO_ENOTCONN            ENOTCONN
#define HSO_ESHUTDOWN           ESHUTDOWN
#define HSO_ETOOMANYREFS        ETOOMANYREFS
#define HSO_ETIMEDOUT           ETIMEDOUT
#define HSO_ECONNREFUSED        ECONNREFUSED
#define HSO_ELOOP               ELOOP
#define HSO_ENAMETOOLONG        ENAMETOOLONG
#define HSO_EHOSTDOWN           EHOSTDOWN
#define HSO_EHOSTUNREACH        EHOSTUNREACH
#define HSO_ENOTEMPTY           ENOTEMPTY
#define HSO_EPROCLIM            EPROCLIM
#define HSO_EUSERS              EUSERS
#define HSO_EDQUOT              EDQUOT
#define HSO_ESTALE              ESTALE
#define HSO_EREMOTE             EREMOTE

#endif

/*-------------------------------------------------------------------*/
/* Local function definitions                                        */
/*-------------------------------------------------------------------*/

HSOCK_DLL_IMPORT int read_socket(int fd, void *ptr, int nbytes);
HSOCK_DLL_IMPORT int write_socket(int fd, const void *ptr, int nbytes);

#endif /*!defined(_HSOCKET_H)*/