ae2f_docs
Block.auto.h
1#undef __ae2f_MACRO_GENERATED
2#define __ae2f_MACRO_GENERATED 1
3#ifndef ae2f_Sys_WSock_auto_h
4#define ae2f_Sys_WSock_auto_h
5
6#include <ae2f/Sys/WSock.h>
7#undef __ae2f_MACRO_GENERATED
8#define __ae2f_MACRO_GENERATED 1
9#include <ae2f/Macro.h>
10#undef __ae2f_MACRO_GENERATED
11#define __ae2f_MACRO_GENERATED 1
12
13#if ae2f_Sys_WIN(!)0
14
15typedef u_long ae2f_SysWSockUBlock_t;
16
17/** Turns a socket into unblock mode */
18#define _ae2f_SysWSockUBlock(
19 /** tparam */
20
21
22 /** param */
23 /* , ae2f_SysWSockNBlock_t */ ref_mem,
24 /* const ae2f_SysWSock_t */ prm_sock,
25 /* int */ res \
26)\
27{
28 (ref_mem) = 1;
29 if (ioctlsocket((prm_sock), FIONBIO, &(ref_mem)) != 0) {
30 (res) = -1;
31 }
32 (res) = 0; \
33}
34
35#else
36
37#include <fcntl.h>
38#undef __ae2f_MACRO_GENERATED
39#define __ae2f_MACRO_GENERATED 1
40#include <unistd.h>
41#undef __ae2f_MACRO_GENERATED
42#define __ae2f_MACRO_GENERATED 1
43
44typedef int ae2f_SysWSockUBlock_t;
45
46/** Turns a socket into unblock mode */
47#define _ae2f_SysWSockUBlock(
48 /** tparam */
49
50
51 /** param */
52 /* , ae2f_SysWSockUBlock_t */ ref_mem,
53 /* const ae2f_SysWSock_t */ prm_sock,
54 /* int */ res \
55)\
56{
57 (ref_mem) = fcntl(prm_sock, F_GETFL, 0);
58
59 if ((ref_mem) == -1) {
60 (res) = -1;
61 } else {
62 /* Add non-blocking flag */
63 (ref_mem) |= O_NONBLOCK;
64 if (fcntl((prm_sock), F_SETFL, (ref_mem)) == -1) {
65 (res) = -1;
66 } else
67 (res) = 0;
68 } \
69}
70
71#endif
72
73#endif
74
75#undef __ae2f_MACRO_GENERATED
76
77#define __ae2f_MACRO_GENERATED 0
#define ae2f_Sys_WIN
Definition Sys.h:17