1
- /* $PostgreSQL: pgsql/src/include/port/win32.h,v 1.41 2004/12/01 23:42:26 momjian Exp $ */
1
+ /* $PostgreSQL: pgsql/src/include/port/win32.h,v 1.42 2004/12/26 19:20:33 tgl Exp $ */
2
2
3
3
/* undefine and redefine after #include */
4
4
#undef mkdir
7
7
#include <windows.h>
8
8
#include <winsock.h>
9
9
#include <process.h>
10
+ #include <signal.h>
11
+ #include <errno.h>
12
+
10
13
#undef near
11
14
12
15
/* Must be here to avoid conflicting with prototype in windows.h */
@@ -103,16 +106,15 @@ int semget(int semKey, int semNum, int flags);
103
106
int semop (int semId , struct sembuf * sops , int flag );
104
107
105
108
106
- /* In backend/port/win32/signal.c */
107
- extern DLLIMPORT HANDLE pgwin32_signal_event ;
108
- extern HANDLE pgwin32_initial_signal_pipe ;
109
-
110
- void pgwin32_signal_initialize (void );
111
- HANDLE pgwin32_create_signal_listener (pid_t pid );
112
- void pgwin32_dispatch_queued_signals (void );
113
- void pg_queue_signal (int signum );
109
+ /*
110
+ * Signal stuff
111
+ */
112
+ #define WEXITSTATUS (w ) (((w) >> 8) & 0xff)
113
+ #define WIFEXITED (w ) (((w) & 0xff) == 0)
114
+ #define WIFSIGNALED (w ) (((w) & 0x7f) > 0 && (((w) & 0x7f) < 0x7f))
115
+ #define WTERMSIG (w ) ((w) & 0x7f)
114
116
115
- #define sigmask (sig ) ( 1 << (sig-1) )
117
+ #define sigmask (sig ) ( 1 << (( sig) -1) )
116
118
117
119
/* Signal function return values */
118
120
#undef SIG_DFL
@@ -122,44 +124,6 @@ void pg_queue_signal(int signum);
122
124
#define SIG_ERR ((pqsigfunc)-1)
123
125
#define SIG_IGN ((pqsigfunc)1)
124
126
125
- #ifndef FRONTEND
126
- #define pg_usleep (t ) pgwin32_backend_usleep(t)
127
- void pgwin32_backend_usleep (long microsec );
128
- #endif
129
-
130
- /* In backend/port/win32/socket.c */
131
- #ifndef FRONTEND
132
- #define socket (af , type , protocol ) pgwin32_socket(af, type, protocol)
133
- #define accept (s , addr , addrlen ) pgwin32_accept(s, addr, addrlen)
134
- #define connect (s , name , namelen ) pgwin32_connect(s, name, namelen)
135
- #define select (n , r , w , e , timeout ) pgwin32_select(n, r, w, e, timeout)
136
- #define recv (s , buf , len , flags ) pgwin32_recv(s, buf, len, flags)
137
- #define send (s , buf , len , flags ) pgwin32_send(s, buf, len, flags)
138
-
139
- SOCKET pgwin32_socket (int af , int type , int protocol );
140
- SOCKET pgwin32_accept (SOCKET s , struct sockaddr * addr , int * addrlen );
141
- int pgwin32_connect (SOCKET s , const struct sockaddr * name , int namelen );
142
- int pgwin32_select (int nfds , fd_set * readfs , fd_set * writefds , fd_set * exceptfds , const struct timeval * timeout );
143
- int pgwin32_recv (SOCKET s , char * buf , int len , int flags );
144
- int pgwin32_send (SOCKET s , char * buf , int len , int flags );
145
-
146
- const char * pgwin32_socket_strerror (int err );
147
- int pgwin32_waitforsinglesocket (SOCKET s , int what );
148
-
149
- /* in backend/port/win32/security.c */
150
- extern int pgwin32_is_admin (void );
151
- extern int pgwin32_is_service (void );
152
- #endif
153
-
154
- /* in backend/port/win32/error.c */
155
- void _dosmaperr (unsigned long );
156
-
157
-
158
- #define WEXITSTATUS (w ) (((w) >> 8) & 0xff)
159
- #define WIFEXITED (w ) (((w) & 0xff) == 0)
160
- #define WIFSIGNALED (w ) (((w) & 0x7f) > 0 && (((w) & 0x7f) < 0x7f))
161
- #define WTERMSIG (w ) ((w) & 0x7f)
162
-
163
127
/* Some extra signals */
164
128
#define SIGHUP 1
165
129
#define SIGQUIT 3
@@ -222,7 +186,6 @@ typedef int pid_t;
222
186
/*
223
187
* Supplement to <errno.h>.
224
188
*/
225
- #include <errno.h>
226
189
#undef EAGAIN
227
190
#undef EINTR
228
191
#define EINTR WSAEINTR
@@ -237,3 +200,45 @@ typedef int pid_t;
237
200
#define ECONNREFUSED WSAECONNREFUSED
238
201
#define EBADFD WSAENOTSOCK
239
202
#define EOPNOTSUPP WSAEOPNOTSUPP
203
+
204
+
205
+ /* In backend/port/win32/signal.c */
206
+ extern DLLIMPORT HANDLE pgwin32_signal_event ;
207
+ extern HANDLE pgwin32_initial_signal_pipe ;
208
+
209
+ void pgwin32_signal_initialize (void );
210
+ HANDLE pgwin32_create_signal_listener (pid_t pid );
211
+ void pgwin32_dispatch_queued_signals (void );
212
+ void pg_queue_signal (int signum );
213
+
214
+ #ifndef FRONTEND
215
+ #define pg_usleep (t ) pgwin32_backend_usleep(t)
216
+ void pgwin32_backend_usleep (long microsec );
217
+ #endif
218
+
219
+ /* In backend/port/win32/socket.c */
220
+ #ifndef FRONTEND
221
+ #define socket (af , type , protocol ) pgwin32_socket(af, type, protocol)
222
+ #define accept (s , addr , addrlen ) pgwin32_accept(s, addr, addrlen)
223
+ #define connect (s , name , namelen ) pgwin32_connect(s, name, namelen)
224
+ #define select (n , r , w , e , timeout ) pgwin32_select(n, r, w, e, timeout)
225
+ #define recv (s , buf , len , flags ) pgwin32_recv(s, buf, len, flags)
226
+ #define send (s , buf , len , flags ) pgwin32_send(s, buf, len, flags)
227
+
228
+ SOCKET pgwin32_socket (int af , int type , int protocol );
229
+ SOCKET pgwin32_accept (SOCKET s , struct sockaddr * addr , int * addrlen );
230
+ int pgwin32_connect (SOCKET s , const struct sockaddr * name , int namelen );
231
+ int pgwin32_select (int nfds , fd_set * readfs , fd_set * writefds , fd_set * exceptfds , const struct timeval * timeout );
232
+ int pgwin32_recv (SOCKET s , char * buf , int len , int flags );
233
+ int pgwin32_send (SOCKET s , char * buf , int len , int flags );
234
+
235
+ const char * pgwin32_socket_strerror (int err );
236
+ int pgwin32_waitforsinglesocket (SOCKET s , int what );
237
+
238
+ /* in backend/port/win32/security.c */
239
+ extern int pgwin32_is_admin (void );
240
+ extern int pgwin32_is_service (void );
241
+ #endif
242
+
243
+ /* in backend/port/win32/error.c */
244
+ extern void _dosmaperr (unsigned long );
0 commit comments