comparison org.eclipse.swt.win32.win32.x86/src/org/eclipse/swt/internal/mozilla/prio.d @ 0:6dd524f61e62

add dwt win and basic java stuff
author Frank Benoit <benoit@tionex.de>
date Mon, 02 Mar 2009 14:44:16 +0100
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:6dd524f61e62
1 module org.eclipse.swt.internal.mozilla.prio;
2
3 import org.eclipse.swt.internal.mozilla.Common;
4 import org.eclipse.swt.internal.mozilla.prtime;
5 import org.eclipse.swt.internal.mozilla.prinrval;
6
7 extern (System):
8
9 alias PRIntn PRDescIdentity;
10 alias void PRFilePrivate;
11
12 struct PRFileDesc
13 {
14 PRIOMethods *methods;
15 PRFilePrivate *secret;
16 PRFileDesc *lower;
17 PRFileDesc *higher;
18 void function(PRFileDesc *fd)dtor;
19 PRDescIdentity identity;
20 }
21
22 enum PRTransmitFileFlags
23 {
24 PR_TRANSMITFILE_KEEP_OPEN,
25 PR_TRANSMITFILE_CLOSE_SOCKET,
26 }
27
28 const PR_AF_INET = 2;
29 const PR_AF_LOCAL = 1;
30 const PR_INADDR_LOOPBACK = 0x7f000001;
31 const PR_AF_UNSPEC = 0;
32
33 union _N2
34 {
35 PRUint8 [16]_S6_u8;
36 PRUint16 [8]_S6_u16;
37 PRUint32 [4]_S6_u32;
38 PRUint64 [2]_S6_u64;
39 }
40
41 struct PRIPv6Addr
42 {
43 struct _N2{
44 union
45 {
46 PRUint8 [16]_S6_u8;
47 PRUint16 [8]_S6_u16;
48 PRUint32 [4]_S6_u32;
49 PRUint64 [2]_S6_u64;
50 }
51 }
52 _N2 _S6_un;
53 }
54
55 struct _N3
56 {
57 PRUint16 family;
58 char [14]data;
59 }
60
61 struct _N4
62 {
63 PRUint16 family;
64 PRUint16 port;
65 PRUint32 ip;
66 char [8]pad;
67 }
68
69 struct _N5
70 {
71 PRUint16 family;
72 PRUint16 port;
73 PRUint32 flowinfo;
74 PRIPv6Addr ip;
75 PRUint32 scope_id;
76 }
77
78 union PRNetAddr
79 {
80 struct _N3
81 {
82 PRUint16 family;
83 char [14]data;
84 }
85 _N3 raw;
86 struct _N4
87 {
88 PRUint16 family;
89 PRUint16 port;
90 PRUint32 ip;
91 char [8]pad;
92 }
93 _N4 inet;
94 struct _N5
95 {
96 PRUint16 family;
97 PRUint16 port;
98 PRUint32 flowinfo;
99 PRIPv6Addr ip;
100 PRUint32 scope_id;
101 }
102 _N5 ipv6;
103 }
104
105 enum PRSockOption
106 {
107 PR_SockOpt_Nonblocking,
108 PR_SockOpt_Linger,
109 PR_SockOpt_Reuseaddr,
110 PR_SockOpt_Keepalive,
111 PR_SockOpt_RecvBufferSize,
112 PR_SockOpt_SendBufferSize,
113 PR_SockOpt_IpTimeToLive,
114 PR_SockOpt_IpTypeOfService,
115 PR_SockOpt_AddMember,
116 PR_SockOpt_DropMember,
117 PR_SockOpt_McastInterface,
118 PR_SockOpt_McastTimeToLive,
119 PR_SockOpt_McastLoopback,
120 PR_SockOpt_NoDelay,
121 PR_SockOpt_MaxSegment,
122 PR_SockOpt_Broadcast,
123 PR_SockOpt_Last,
124 }
125
126 struct PRLinger
127 {
128 PRBool polarity;
129 PRIntervalTime linger;
130 }
131
132 struct PRMcastRequest
133 {
134 PRNetAddr mcaddr;
135 PRNetAddr ifaddr;
136 }
137
138 union _N6
139 {
140 PRUintn ip_ttl;
141 PRUintn mcast_ttl;
142 PRUintn tos;
143 PRBool non_blocking;
144 PRBool reuse_addr;
145 PRBool keep_alive;
146 PRBool mcast_loopback;
147 PRBool no_delay;
148 PRBool broadcast;
149 PRSize max_segment;
150 PRSize recv_buffer_size;
151 PRSize send_buffer_size;
152 PRLinger linger;
153 PRMcastRequest add_member;
154 PRMcastRequest drop_member;
155 PRNetAddr mcast_if;
156 }
157
158 struct PRSocketOptionData
159 {
160 int option;
161 union _N6
162 {
163 PRUintn ip_ttl;
164 PRUintn mcast_ttl;
165 PRUintn tos;
166 PRBool non_blocking;
167 PRBool reuse_addr;
168 PRBool keep_alive;
169 PRBool mcast_loopback;
170 PRBool no_delay;
171 PRBool broadcast;
172 PRSize max_segment;
173 PRSize recv_buffer_size;
174 PRSize send_buffer_size;
175 PRLinger linger;
176 PRMcastRequest add_member;
177 PRMcastRequest drop_member;
178 PRNetAddr mcast_if;
179 }
180 _N6 value;
181 }
182
183 struct PRIOVec
184 {
185 char *iov_base;
186 int iov_len;
187 }
188
189 enum PRDescType
190 {
191 PR_DESC_FILE = 1,
192 PR_DESC_SOCKET_TCP,
193 PR_DESC_SOCKET_UDP,
194 PR_DESC_LAYERED,
195 PR_DESC_PIPE,
196 }
197
198 enum PRSeekWhence
199 {
200 PR_SEEK_SET,
201 PR_SEEK_CUR,
202 PR_SEEK_END,
203 }
204
205 version(NON_XPCOM_GLUE){
206 int PR_GetDescType(PRFileDesc *file);
207 }
208
209 alias PRStatus function(PRFileDesc *fd)PRCloseFN;
210 alias PRInt32 function(PRFileDesc *fd, void *buf, PRInt32 amount)PRReadFN;
211 alias PRInt32 function(PRFileDesc *fd, void *buf, PRInt32 amount)PRWriteFN;
212 alias PRInt32 function(PRFileDesc *fd)PRAvailableFN;
213 alias PRInt64 function(PRFileDesc *fd)PRAvailable64FN;
214 alias PRStatus function(PRFileDesc *fd)PRFsyncFN;
215 alias PROffset32 function(PRFileDesc *fd, PROffset32 offset, int how)PRSeekFN;
216 alias PROffset64 function(PRFileDesc *fd, PROffset64 offset, int how)PRSeek64FN;
217 alias PRStatus function(PRFileDesc *fd, PRFileInfo *info)PRFileInfoFN;
218 alias PRStatus function(PRFileDesc *fd, PRFileInfo64 *info)PRFileInfo64FN;
219 alias PRInt32 function(PRFileDesc *fd, PRIOVec *iov, PRInt32 iov_size, PRIntervalTime timeout)PRWritevFN;
220 alias PRStatus function(PRFileDesc *fd, PRNetAddr *addr, PRIntervalTime timeout)PRConnectFN;
221 alias PRFileDesc * function(PRFileDesc *fd, PRNetAddr *addr, PRIntervalTime timeout)PRAcceptFN;
222 alias PRStatus function(PRFileDesc *fd, PRNetAddr *addr)PRBindFN;
223 alias PRStatus function(PRFileDesc *fd, PRIntn backlog)PRListenFN;
224 alias PRStatus function(PRFileDesc *fd, PRIntn how)PRShutdownFN;
225 alias PRInt32 function(PRFileDesc *fd, void *buf, PRInt32 amount, PRIntn flags, PRIntervalTime timeout)PRRecvFN;
226 alias PRInt32 function(PRFileDesc *fd, void *buf, PRInt32 amount, PRIntn flags, PRIntervalTime timeout)PRSendFN;
227 alias PRInt32 function(PRFileDesc *fd, void *buf, PRInt32 amount, PRIntn flags, PRNetAddr *addr, PRIntervalTime timeout)PRRecvfromFN;
228 alias PRInt32 function(PRFileDesc *fd, void *buf, PRInt32 amount, PRIntn flags, PRNetAddr *addr, PRIntervalTime timeout)PRSendtoFN;
229 alias PRInt16 function(PRFileDesc *fd, PRInt16 in_flags, PRInt16 *out_flags)PRPollFN;
230 alias PRInt32 function(PRFileDesc *sd, PRFileDesc **nd, PRNetAddr **raddr, void *buf, PRInt32 amount, PRIntervalTime t)PRAcceptreadFN;
231 alias PRInt32 function(PRFileDesc *sd, PRFileDesc *fd, void *headers, PRInt32 hlen, int flags, PRIntervalTime t)PRTransmitfileFN;
232 alias PRStatus function(PRFileDesc *fd, PRNetAddr *addr)PRGetsocknameFN;
233 alias PRStatus function(PRFileDesc *fd, PRNetAddr *addr)PRGetpeernameFN;
234 alias PRStatus function(PRFileDesc *fd, PRSocketOptionData *data)PRGetsocketoptionFN;
235 alias PRStatus function(PRFileDesc *fd, PRSocketOptionData *data)PRSetsocketoptionFN;
236 alias PRInt32 function(PRFileDesc *networkSocket, PRSendFileData *sendData, int flags, PRIntervalTime timeout)PRSendfileFN;
237 alias PRStatus function(PRFileDesc *fd, PRInt16 out_flags)PRConnectcontinueFN;
238 alias PRIntn function(PRFileDesc *fd)PRReservedFN;
239
240 struct PRIOMethods
241 {
242 int file_type;
243 PRCloseFN close;
244 PRReadFN read;
245 PRWriteFN write;
246 PRAvailableFN available;
247 PRAvailable64FN available64;
248 PRFsyncFN fsync;
249 PRSeekFN seek;
250 PRSeek64FN seek64;
251 PRFileInfoFN fileInfo;
252 PRFileInfo64FN fileInfo64;
253 PRWritevFN writev;
254 PRConnectFN connect;
255 PRAcceptFN accept;
256 PRBindFN bind;
257 PRListenFN listen;
258 PRShutdownFN shutdown;
259 PRRecvFN recv;
260 PRSendFN send;
261 PRRecvfromFN recvfrom;
262 PRSendtoFN sendto;
263 PRPollFN poll;
264 PRAcceptreadFN acceptread;
265 PRTransmitfileFN transmitfile;
266 PRGetsocknameFN getsockname;
267 PRGetpeernameFN getpeername;
268 PRReservedFN reserved_fn_6;
269 PRReservedFN reserved_fn_5;
270 PRGetsocketoptionFN getsocketoption;
271 PRSetsocketoptionFN setsocketoption;
272 PRSendfileFN sendfile;
273 PRConnectcontinueFN connectcontinue;
274 PRReservedFN reserved_fn_3;
275 PRReservedFN reserved_fn_2;
276 PRReservedFN reserved_fn_1;
277 PRReservedFN reserved_fn_0;
278 }
279
280 enum PRSpecialFD
281 {
282 PR_StandardInput,
283 PR_StandardOutput,
284 PR_StandardError,
285 }
286
287 version(NON_XPCOM_GLUE)
288 {
289 PRFileDesc * PR_GetSpecialFD(int id);
290 PRDescIdentity PR_GetUniqueIdentity(char *layer_name);
291 char * PR_GetNameForIdentity(PRDescIdentity ident);
292 PRDescIdentity PR_GetLayersIdentity(PRFileDesc *fd);
293 PRFileDesc * PR_GetIdentitiesLayer(PRFileDesc *fd_stack, PRDescIdentity id);
294 PRIOMethods * PR_GetDefaultIOMethods();
295 PRFileDesc * PR_CreateIOLayerStub(PRDescIdentity ident, PRIOMethods *methods);
296 PRFileDesc * PR_CreateIOLayer(PRFileDesc *fd);
297 PRStatus PR_PushIOLayer(PRFileDesc *fd_stack, PRDescIdentity id, PRFileDesc *layer);
298 PRFileDesc * PR_PopIOLayer(PRFileDesc *fd_stack, PRDescIdentity id);
299 }
300
301 const PR_RDONLY = 0x01;
302 const PR_WRONLY = 0x02;
303 const PR_RDWR = 0x04;
304 const PR_CREATE_FILE = 0x08;
305 const PR_APPEND = 0x10;
306 const PR_TRUNCATE = 0x20;
307 const PR_SYNC = 0x40;
308 const PR_EXCL = 0x80;
309
310 version(NON_XPCOM_GLUE) {
311 PRFileDesc * PR_Open(char *name, PRIntn flags, PRIntn mode);
312 }
313
314 const PR_IRWXU = 00700;
315 const PR_IRUSR = 00400;
316 const PR_IWUSR = 00200;
317 const PR_IXUSR = 00100;
318 const PR_IRWXG = 00070;
319 const PR_IRGRP = 00040;
320 const PR_IWGRP = 00020;
321 const PR_IXGRP = 00010;
322 const PR_IRWXO = 00007;
323 const PR_IROTH = 00004;
324 const PR_IWOTH = 00002;
325 const PR_IXOTH = 00001;
326
327 version(NON_XPCOM_GLUE)
328 {
329 PRFileDesc * PR_OpenFile(char *name, PRIntn flags, PRIntn mode);
330 PRStatus PR_Close(PRFileDesc *fd);
331 PRInt32 PR_Read(PRFileDesc *fd, void *buf, PRInt32 amount);
332 PRInt32 PR_Write(PRFileDesc *fd, void *buf, PRInt32 amount);
333 }
334
335 const PR_MAX_IOVECTOR_SIZE = 16;
336
337 version(NON_XPCOM_GLUE)
338 {
339 PRInt32 PR_Writev(PRFileDesc *fd, PRIOVec *iov, PRInt32 iov_size, PRIntervalTime timeout);
340 PRStatus PR_Delete(char *name);
341 }
342
343 enum PRFileType
344 {
345 PR_FILE_FILE = 1,
346 PR_FILE_DIRECTORY,
347 PR_FILE_OTHER,
348 }
349
350 struct PRFileInfo
351 {
352 int type;
353 PROffset32 size;
354 PRTime creationTime;
355 PRTime modifyTime;
356 }
357
358 struct PRFileInfo64
359 {
360 int type;
361 PROffset64 size;
362 PRTime creationTime;
363 PRTime modifyTime;
364 }
365
366 version (NON_XPCOM_GLUE)
367 {
368 PRStatus PR_GetFileInfo(char *fn, PRFileInfo *info);
369 PRStatus PR_GetFileInfo64(char *fn, PRFileInfo64 *info);
370 PRStatus PR_GetOpenFileInfo(PRFileDesc *fd, PRFileInfo *info);
371 PRStatus PR_GetOpenFileInfo64(PRFileDesc *fd, PRFileInfo64 *info);
372 PRStatus PR_Rename(char *from, char *to);
373 }
374
375 enum PRAccessHow
376 {
377 PR_ACCESS_EXISTS = 1,
378 PR_ACCESS_WRITE_OK,
379 PR_ACCESS_READ_OK,
380 }
381
382 version(NON_XPCOM_GLUE)
383 {
384 PRStatus PR_Access(char *name, int how);
385 PROffset32 PR_Seek(PRFileDesc *fd, PROffset32 offset, int whence);
386 PROffset64 PR_Seek64(PRFileDesc *fd, PROffset64 offset, int whence);
387 PRInt32 PR_Available(PRFileDesc *fd);
388 PRInt64 PR_Available64(PRFileDesc *fd);
389 PRStatus PR_Sync(PRFileDesc *fd);
390 }
391
392 struct PRDirEntry
393 {
394 char *name;
395 }
396
397 alias void PRDir;
398
399 version(NON_XPCOM_GLUE) {
400 PRDir * PR_OpenDir(char *name);
401 }
402
403 enum PRDirFlags
404 {
405 PR_SKIP_NONE,
406 PR_SKIP_DOT,
407 PR_SKIP_DOT_DOT,
408 PR_SKIP_BOTH,
409 PR_SKIP_HIDDEN,
410 }
411
412 version(NON_XPCOM_GLUE)
413 {
414 PRDirEntry * PR_ReadDir(PRDir *dir, int flags);
415 PRStatus PR_CloseDir(PRDir *dir);
416 PRStatus PR_MkDir(char *name, PRIntn mode);
417 PRStatus PR_MakeDir(char *name, PRIntn mode);
418 PRStatus PR_RmDir(char *name);
419 PRFileDesc * PR_NewUDPSocket();
420 PRFileDesc * PR_NewTCPSocket();
421 PRFileDesc * PR_OpenUDPSocket(PRIntn af);
422 PRFileDesc * PR_OpenTCPSocket(PRIntn af);
423 PRStatus PR_Connect(PRFileDesc *fd, PRNetAddr *addr, PRIntervalTime timeout);
424 PRStatus PR_ConnectContinue(PRFileDesc *fd, PRInt16 out_flags);
425 PRStatus PR_GetConnectStatus(PRPollDesc *pd);
426 PRFileDesc * PR_Accept(PRFileDesc *fd, PRNetAddr *addr, PRIntervalTime timeout);
427 PRStatus PR_Bind(PRFileDesc *fd, PRNetAddr *addr);
428 PRStatus PR_Listen(PRFileDesc *fd, PRIntn backlog);
429 }
430
431 enum PRShutdownHow
432 {
433 PR_SHUTDOWN_RCV,
434 PR_SHUTDOWN_SEND,
435 PR_SHUTDOWN_BOTH,
436 }
437
438 version(NON_XPCOM_GLUE) {
439 PRStatus PR_Shutdown(PRFileDesc *fd, int how);
440 }
441
442 const PR_MSG_PEEK = 0x2;
443
444 version(NON_XPCOM_GLUE)
445 {
446 PRInt32 PR_Recv(PRFileDesc *fd, void *buf, PRInt32 amount, PRIntn flags, PRIntervalTime timeout);
447 PRInt32 PR_Send(PRFileDesc *fd, void *buf, PRInt32 amount, PRIntn flags, PRIntervalTime timeout);
448 PRInt32 PR_RecvFrom(PRFileDesc *fd, void *buf, PRInt32 amount, PRIntn flags, PRNetAddr *addr, PRIntervalTime timeout);
449 PRInt32 PR_SendTo(PRFileDesc *fd, void *buf, PRInt32 amount, PRIntn flags, PRNetAddr *addr, PRIntervalTime timeout);
450 PRInt32 PR_TransmitFile(PRFileDesc *networkSocket, PRFileDesc *sourceFile, void *headers, PRInt32 hlen, int flags, PRIntervalTime timeout);
451 }
452
453 struct PRSendFileData
454 {
455 PRFileDesc *fd;
456 PRUint32 file_offset;
457 PRSize file_nbytes;
458 void *header;
459 PRInt32 hlen;
460 void *trailer;
461 PRInt32 tlen;
462 }
463
464 version(NON_XPCOM_GLUE)
465 {
466 PRInt32 PR_SendFile(PRFileDesc *networkSocket, PRSendFileData *sendData, int flags, PRIntervalTime timeout);
467 PRInt32 PR_AcceptRead(PRFileDesc *listenSock, PRFileDesc **acceptedSock, PRNetAddr **peerAddr, void *buf, PRInt32 amount, PRIntervalTime timeout);
468 PRStatus PR_NewTCPSocketPair(PRFileDesc **fds);
469 PRStatus PR_GetSockName(PRFileDesc *fd, PRNetAddr *addr);
470 PRStatus PR_GetPeerName(PRFileDesc *fd, PRNetAddr *addr);
471 PRStatus PR_GetSocketOption(PRFileDesc *fd, PRSocketOptionData *data);
472 PRStatus PR_SetSocketOption(PRFileDesc *fd, PRSocketOptionData *data);
473 PRStatus PR_SetFDInheritable(PRFileDesc *fd, PRBool inheritable);
474 PRFileDesc * PR_GetInheritedFD(char *name);
475 }
476
477 enum PRFileMapProtect
478 {
479 PR_PROT_READONLY,
480 PR_PROT_READWRITE,
481 PR_PROT_WRITECOPY,
482 }
483
484 alias void PRFileMap;
485
486 version(NON_XPCOM_GLUE)
487 {
488 PRFileMap * PR_CreateFileMap(PRFileDesc *fd, PRInt64 size, int prot);
489 PRInt32 PR_GetMemMapAlignment();
490 void * PR_MemMap(PRFileMap *fmap, PROffset64 offset, PRUint32 len);
491 PRStatus PR_MemUnmap(void *addr, PRUint32 len);
492 PRStatus PR_CloseFileMap(PRFileMap *fmap);
493 PRStatus PR_CreatePipe(PRFileDesc **readPipe, PRFileDesc **writePipe);
494 }
495
496 struct PRPollDesc
497 {
498 PRFileDesc *fd;
499 PRInt16 in_flags;
500 PRInt16 out_flags;
501 }
502
503 const PR_POLL_READ = 0x1;
504 const PR_POLL_WRITE = 0x2;
505 const PR_POLL_EXCEPT = 0x4;
506 const PR_POLL_ERR = 0x8;
507 const PR_POLL_NVAL = 0x10;
508 const PR_POLL_HUP = 0x20;
509
510 version(NON_XPCOM_GLUE)
511 {
512 PRInt32 PR_Poll(PRPollDesc *pds, PRIntn npds, PRIntervalTime timeout);
513 PRFileDesc * PR_NewPollableEvent();
514 PRStatus PR_DestroyPollableEvent(PRFileDesc *event);
515 PRStatus PR_SetPollableEvent(PRFileDesc *event);
516 PRStatus PR_WaitForPollableEvent(PRFileDesc *event);
517 }