ObjFW  History of src/socket.h of 0afb04d93c2bc897

History of file src/socket.h at check-in 0afb04d93c2bc897

2024-08-17
09:51
Move private functions into private headers file: [69caeb77bf] check-in: [b829f3e798] user: js, branch: trunk, size: 12378 [annotate] [blame] [check-ins using] [diff]
2024-06-17
21:08
Always use <ObjFW/ObjFW.h> in documentation file: [34466dd2e3] check-in: [164f2fb4bf] user: js, branch: trunk, size: 13044 [annotate] [blame] [check-ins using] [diff]
2024-05-01
16:47
Merge trunk into branch "sctp" file: [8867f799f7] check-in: [570f747545] user: js, branch: sctp, size: 13047 [annotate] [blame] [check-ins using] [diff]
2024-04-29
21:42
Properly hide private symbols file: [48d578681c] check-in: [f16bccc7b3] user: js, branch: trunk, size: 12983 [annotate] [blame] [check-ins using] [diff]
2024-04-28
18:15
Merge trunk into branch "sctp" file: [1c856b0040] check-in: [bd2d723910] user: js, branch: sctp, size: 12915 [annotate] [blame] [check-ins using] [diff]
2024-04-03
02:16
Change license to LGPLv3 only file: [5622251aeb] check-in: [7413a728a7] user: js, branch: trunk, size: 12851 [annotate] [blame] [check-ins using] [diff]
2024-02-03
11:41
Update copyright file: [ced8883954] check-in: [7324ec8590] user: js, branch: 1.0, size: 12266 [annotate] [blame] [check-ins using] [diff]
2024-01-02
17:17
Update copyright file: [aea5f61629] check-in: [26ddd2e4e4] user: js, branch: trunk, size: 12643 [annotate] [blame] [check-ins using] [diff]
2023-10-22
21:47
Fix OFSocketAddressString() for AppleTalk file: [0e7b6e8e00] check-in: [b64b8e3b3f] user: js, branch: 1.0, size: 12266 [annotate] [blame] [check-ins using] [diff]
21:45
Add OFSocketAddressDescription() file: [346d4cc46a] check-in: [a8c9d73327] user: js, branch: trunk, size: 12643 [annotate] [blame] [check-ins using] [diff]
2023-08-09
22:39
OFValue: Improve -[description] file: [39b53adb69] check-in: [772e8b8f78] user: js, branch: trunk, size: 12270 [annotate] [blame] [check-ins using] [diff]
2023-07-16
17:53
OFUNIXDatagramSocket: Allow binding to nil path file: [ef7090ccb7] check-in: [36c65b8468] user: js, branch: trunk, size: 12254 [annotate] [blame] [check-ins using] [diff]
2023-05-20
20:54
OFSocketAddressString: Add AppleTalk support file: [413740135d] check-in: [79c5eeefcc] user: js, branch: trunk, size: 12264 [annotate] [blame] [check-ins using] [diff]
2023-05-07
11:47
Fix compilation on newer FreeBSD file: [12afd4de67] check-in: [e3cecb9f08] user: js, branch: trunk, size: 12246 [annotate] [blame] [check-ins using] [diff]
2023-05-03
22:31
Make IPX sockets compile on FreeBSD 10 file: [fe9418cd06] check-in: [01355ad851] user: js, branch: trunk, size: 12238 [annotate] [blame] [check-ins using] [diff]
2023-04-22
17:47
Make sure the ABI of OFSocketAddress stays stable file: [a60f73c777] check-in: [19ace65ba8] user: js, branch: trunk, size: 12098 [annotate] [blame] [check-ins using] [diff]
2023-04-16
21:44
Work around s_net already being defined on Solaris file: [3c58ebd4cf] check-in: [9af6b18d87] user: js, branch: trunk, size: 11922 [annotate] [blame] [check-ins using] [diff]
2023-04-15
17:30
OFDDPSocket: Add support for configuring AppleTalk file: [755345bacd] check-in: [ccb53db0d8] user: js, branch: trunk, size: 11939 [annotate] [blame] [check-ins using] [diff]
2023-01-06
09:04
Update copyright file: [5d7e2b8fd9] check-in: [8939cbdb52] user: js, branch: trunk, size: 11939 [annotate] [blame] [check-ins using] [diff]
2022-11-06
23:56
Merge trunk into branch "sctp" file: [20d2252a0a] check-in: [9cb5c92f04] user: js, branch: sctp, size: 12003 [annotate] [blame] [check-ins using] [diff]
23:52
Merge trunk into branch "sctp" file: [5b9fa1cfea] check-in: [425762ff70] user: js, branch: sctp, size: 8544 [annotate] [blame] [check-ins using] [diff]
2022-10-31
21:41
Check for and use <netat/appletalk.h> file: [18fc1aa593] check-in: [019ff77f50] user: js, branch: trunk, size: 11939 [annotate] [blame] [check-ins using] [diff]
2022-10-30
18:58
Remove AppleTalk support again

It seems that neither Windows nor macOS support DDP sockets, but only
the layers on top, while neither Linux nor NetBSD support the layers on
top, but only provide DDP.

It seems that DDP is not meant to be used directly, while Linux and
NetBSD only provide the minimum to use netatalk, which is DDP. ObjFW
would need to use the layers on top on Windows and macOS and implement
those layers itself on Linux and NetBSD. This also means that no code
would be shared between Linux / NetBSD and Windows / macOS, as it's
impossible to have one implementation that works for everything. At this
point, the effort required doesn't make sense. file: [fc6ec6273c] check-in: [0b4f713964] user: js, branch: trunk, size: 9155 [annotate] [blame] [check-ins using] [diff]

2022-10-22
22:37
Fix compilation for systems without sockaddr_at file: [77a6b954f7] check-in: [9934ed3ac2] user: js, branch: trunk, size: 11862 [annotate] [blame] [check-ins using] [diff]
18:46
Merge trunk into branch "appletalk" file: [990896e9f7] check-in: [d1c9ed8498] user: js, branch: appletalk, size: 11851 [annotate] [blame] [check-ins using] [diff]
18:41
OFSocket: Don't combine port for IP and IPX

While it works for those two protocols, it's a bad precedent as other
protocols have different types for ports. file: [e6bf54de5e] check-in: [a54730b88f] user: js, branch: trunk, size: 9155 [annotate] [blame] [check-ins using] [diff]

18:21
Merge trunk into branch "appletalk" file: [24521aefe5] check-in: [ec6ee4c269] user: js, branch: appletalk, size: 10852 [annotate] [blame] [check-ins using] [diff]
16:41
OF[IS]PX(Stream)Socket: Bind with network & node file: [ed92d6e459] check-in: [b29f11ed25] user: js, branch: trunk, size: 8709 [annotate] [blame] [check-ins using] [diff]
13:49
OFSocket: Add support for AppleTalk file: [9f4f0632e4] check-in: [6d7be6020e] user: js, branch: appletalk, size: 10849 [annotate] [blame] [check-ins using] [diff]
2022-10-14
19:46
Document more exceptions file: [6ae41ef6ce] check-in: [ee3632817a] user: js, branch: trunk, size: 8706 [annotate] [blame] [check-ins using] [diff]
2022-08-06
21:14
Don't use struct sockaddr in OFSocketAddress

struct sockaddr can contain a variable length array, which breaks the
union. file: [0929d955af] check-in: [25adea9a23] user: js, branch: trunk, size: 8480 [annotate] [blame] [check-ins using] [diff]

14:43
Reorder node and network of IPX sockets

This is more standard, albeit -[connectToNetwork:node:port:] sounding a
little bit more like you connect to a network rather than a node. file: [e523ef42af] check-in: [ccc6a77c55] user: js, branch: trunk, size: 8749 [annotate] [blame] [check-ins using] [diff]

2022-02-12
07:46
Update copyright file: [fb1a5b55eb] check-in: [1a86b8175b] user: js, branch: trunk, size: 8754 [annotate] [blame] [check-ins using] [diff]
2022-01-29
22:00
Fix redefinition of struct sockaddr_un on MiNT file: [064208fd7e] check-in: [1fba563718] user: js, branch: trunk, size: 8754 [annotate] [blame] [check-ins using] [diff]
2021-10-24
18:11
Enable UNIX sockets on Windows

Windows 10 supports UNIX sockets since Insider Preview Build 17063, but
only SOCK_STREAM. file: [65bba562bd] check-in: [d5373ff70f] user: js, branch: unix-sockets, size: 8733 [annotate] [blame] [check-ins using] [diff]

16:07
Don't try to use UNIX sockets on MorphOS file: [19afd95fa7] check-in: [2f49b4aec2] user: js, branch: unix-sockets, size: 8681 [annotate] [blame] [check-ins using] [diff]
13:40
Merge trunk into branch "unix-sockets" file: [b11ec9bdab] check-in: [55aa600e97] user: js, branch: unix-sockets, size: 8651 [annotate] [blame] [check-ins using] [diff]
2021-04-30
23:06
Renamed src/socket.h → src/OFSocket.h. Merge trunk into branch "sctp" file: [a9f231c148] check-in: [a82e7f4b3d] user: js, branch: sctp, size: 7836 [annotate] [blame] [check-ins using] [diff]
2021-04-29
23:24
Clean up struct and enum typedefs

With TYPEDEF_HIDES_STRUCT set, Doxygen properly handles anonymous
structs and enums that are typedef'd. file: [2b4aae9d25] check-in: [2fcf5a3052] user: js, branch: trunk, size: 7772 [annotate] [blame] [check-ins using] [diff]

2021-04-25
20:22
Renamed src/socket.h → src/OFSocket.h. Merge trunk into branch "unix-sockets" file: [789ea6a8ed] check-in: [fb40f7048d] user: js, branch: unix-sockets, size: 8691 [annotate] [blame] [check-ins using] [diff]
2021-04-18
23:18
INVALID_SOCKET -> OFInvalidSocketHandle file: [f49763d210] check-in: [4b587c8874] user: js, branch: new-naming-convention, size: 7812 [annotate] [blame] [check-ins using] [diff]
22:56
Rename all symbols marked extern file: [4e8739b8a5] check-in: [e73c65a849] user: js, branch: new-naming-convention, size: 7688 [annotate] [blame] [check-ins using] [diff]
20:51
Renamed src/socket.h → src/OFSocket.h. Rename everything in several smaller files file: [49c6656be8] check-in: [35de667566] user: js, branch: new-naming-convention, size: 7701 [annotate] [blame] [check-ins using] [diff]
2021-04-17
15:45
of_tlskey_t -> OFTLSKey file: [41000fbbd6] check-in: [cc3a4a7b43] user: js, branch: new-naming-convention, size: 7718 [annotate] [blame] [check-ins using] [diff]
13:58
of_socket_address_t -> OFSocketAddress file: [5c14e5d604] check-in: [e3c5bb70dd] user: js, branch: new-naming-convention, size: 7724 [annotate] [blame] [check-ins using] [diff]
12:32
Rename of_socket_address_family_t file: [3e36de663a] check-in: [d3fb3e902d] user: js, branch: new-naming-convention, size: 8068 [annotate] [blame] [check-ins using] [diff]
12:30
of_socket_t -> OFSocketHandle file: [8d3ff16b96] check-in: [c4ae62dd34] user: js, branch: new-naming-convention, size: 8078 [annotate] [blame] [check-ins using] [diff]
2021-04-05
17:55
socket.h: Add sa_family_t typedef on Windows file: [fc728b1db0] check-in: [21a21f6a6b] user: js, branch: unix-sockets, size: 9022 [annotate] [blame] [check-ins using] [diff]
16:30
Add support for UNIX socket addresses file: [e6e5016044] check-in: [1db6618bb9] user: js, branch: unix-sockets, size: 8969 [annotate] [blame] [check-ins using] [diff]
2021-03-30
21:23
Merge trunk into 1.0 branch file: [354df70c5d] check-in: [564d6d6b6f] user: js, branch: 1.0, size: 8069 [annotate] [blame] [check-ins using] [diff]
2021-01-02
22:04
Update copyright file: [07f169cd19] check-in: [374e1a1bfa] user: js, branch: trunk, size: 8133 [annotate] [blame] [check-ins using] [diff]
2020-12-22
20:19
Merge trunk into 1.0 branch file: [91d122f865] check-in: [62edb405b9] user: js, branch: 1.0, size: 8158 [annotate] [blame] [check-ins using] [diff]
2020-12-18
10:52
Remove support for ixemul on MorphOS

ixemul is quite buggy and the native support we have for MorphOS is far
superior. file: [4c95dee7a0] check-in: [7ab180e9b6] user: js, branch: trunk, size: 8222 [annotate] [blame] [check-ins using] [diff]

10:45
Merge trunk into 1.0 branch file: [a0b49c9437] check-in: [98c3748090] user: js, branch: 1.0, size: 8214 [annotate] [blame] [check-ins using] [diff]
2020-12-06
17:49
Use a single global socket base on MorphOS

MorphOS allows sharing a single socket base between tasks, so having a
per-task socket base is unnecessary. file: [fc5416a7db] check-in: [b45a563f2b] user: js, branch: trunk, size: 8278 [annotate] [blame] [check-ins using] [diff]

2020-11-12
00:45
Merge trunk into 1.0 branch file: [60ba1d23a0] check-in: [a1163fb58b] user: js, branch: 1.0, size: 8166 [annotate] [blame] [check-ins using] [diff]
2020-10-10
14:27
OFObject: Change type of -[hash] to unsigned long

The internal hash is still 32 bit in most places, but this way, it is at
least not baked into the API and ABI and can be upgraded later, should
that ever be necessary. file: [750c66c5d1] check-in: [aeb403a1ed] user: js, branch: trunk, size: 8230 [annotate] [blame] [check-ins using] [diff]

2020-10-04
14:39
Merge trunk into 1.0 branch file: [428cdb07e3] check-in: [a9f08709d2] user: js, branch: 1.0, size: 8161 [annotate] [blame] [check-ins using] [diff]
2020-10-03
11:35
Use /** */ instead of /*! */ for documentation file: [5c636947ff] check-in: [163a4a5a2e] user: js, branch: trunk, size: 8225 [annotate] [blame] [check-ins using] [diff]
2020-05-05
01:14
Add OFSCTPSocket file: [b3045e055c] check-in: [4592b16fab] user: js, branch: trunk, size: 8225 [annotate] [blame] [check-ins using] [diff]
2020-05-02
15:25
OFSPXSocket: Make async connect work file: [ada6e256da] check-in: [6a6f7fb146] user: js, branch: trunk, size: 8161 [annotate] [blame] [check-ins using] [diff]
2020-04-26
10:56
Replace of_socket_address_ipx_get()

Instead, provide getters and setters for the various address parts. file: [f684cec31b] check-in: [2ff4218405] user: js, branch: trunk, size: 8156 [annotate] [blame] [check-ins using] [diff]

2020-04-25
23:02
Add OFIPXSocket file: [797887223d] check-in: [4a5822e7c0] user: js, branch: trunk, size: 7382 [annotate] [blame] [check-ins using] [diff]
2020-04-12
12:52
Work around broken -Wdocumentation in Clang 10 file: [f8e3143cfa] check-in: [d35b4e3a85] user: js, branch: trunk, size: 5984 [annotate] [blame] [check-ins using] [diff]
2020-01-02
01:51
Update copyright file: [d2c0976e15] check-in: [c7f0229795] user: js, branch: trunk, size: 5936 [annotate] [blame] [check-ins using] [diff]
2019-08-11
18:56
Support sockets in multiple threads on AmigaOS file: [a943bd03d9] check-in: [a40f3fc829] user: js, branch: trunk, size: 5933 [annotate] [blame] [check-ins using] [diff]
2019-05-05
22:29
socket.h: Add typedefs missing on MorphOS file: [dca04b58ae] check-in: [a407b8b2b7] user: js, branch: trunk, size: 5590 [annotate] [blame] [check-ins using] [diff]
2019-02-17
22:16
OFWindowsRegistryKey: Add write support file: [2b0e7e9e52] check-in: [4c5f686a52] user: js, branch: trunk, size: 5534 [annotate] [blame] [check-ins using] [diff]
2019-01-07
22:59
Partially fix sockets on Nintendo 3DS/Wii

This does not fully fix it yet, but at least the socket tests in the
test suite pass on 3DS now. file: [e3ee93c786] check-in: [ab89c47f42] user: js, branch: trunk, size: 5651 [annotate] [blame] [check-ins using] [diff]

2019-01-03
19:13
Update copyright file: [975b336f99] check-in: [0509d7a844] user: js, branch: trunk, size: 5616 [annotate] [blame] [check-ins using] [diff]
2018-12-18
21:17
Use OFData instead of a buffer for async UDP sends

This avoids the entire problem of keeping the buffer alive until the
send finished. file: [0d7cd9ede1] check-in: [0f3ae90eef] user: js, branch: trunk, size: 5610 [annotate] [blame] [check-ins using] [diff]

2018-10-07
02:06
Remove resolver.m

Instead, OFDNSResolver is used for everything now. file: [949bb8ad8d] check-in: [6e9ee122eb] user: js, branch: trunk, size: 5555 [annotate] [blame] [check-ins using] [diff]

2018-09-10
20:44
OFDNSResolver: Method to resolve host to addresses

This provides more convenience when the goal is to connect a socket and
provides functionality similar to getaddrinfo().

No support for resolving CNAMEs yet - this will be the next step. file: [2431bf7b16] check-in: [8555d64ee6] user: js, branch: trunk, size: 5249 [annotate] [blame] [check-ins using] [diff]

2018-08-26
18:39
Fix compilation for Wii

This pretends that net_getsockopt() exists, which it does not yet. As
soon as it lands in libogc, this will work again. file: [0a5ee032af] check-in: [bed2db0fd3] user: js, branch: trunk, size: 5125 [annotate] [blame] [check-ins using] [diff]

2018-08-14
00:26
Minor documentation fixes file: [acbe13b260] check-in: [fbfe80e8fa] user: js, branch: trunk, size: 5125 [annotate] [blame] [check-ins using] [diff]
2018-08-11
21:53
Fix build on 3DS and Wii file: [0b7ecc62d1] check-in: [9a494f183b] user: js, branch: trunk, size: 5148 [annotate] [blame] [check-ins using] [diff]
14:00
Change the layout of of_socket_address_t

Instead of containing a struct sockaddr_storage - which does not exist
on all supported platforms - it now contains a union of all struct
sockaddr_* types.

Additionally, if struct sockaddr_in6 does not exist, it is defined so
that an IPv6 can be stored even if the system does not support IPv6. file: [d1393543d0] check-in: [8f810ecb7e] user: js, branch: trunk, size: 5102 [annotate] [blame] [check-ins using] [diff]

2018-08-06
22:34
socket.m: Replace inet_{ntop,pton} with own impl

Not all OSes supported by ObjFW provide them. file: [232e64699e] check-in: [ab9810ef69] user: js, branch: trunk, size: 4355 [annotate] [blame] [check-ins using] [diff]

2018-08-05
20:00
Add a few missing casts file: [f9393485f9] check-in: [4f49f55859] user: js, branch: trunk, size: 3726 [annotate] [blame] [check-ins using] [diff]
2018-07-28
20:21
Add of_socket_address_ip_string()

This replaces of_address_to_string_and_port(). file: [2892632dc8] check-in: [8aeee6680a] user: js, branch: trunk, size: 3792 [annotate] [blame] [check-ins using] [diff]

18:29
Add of_socket_address_parse_ip() file: [b7c9f96c1f] check-in: [2a1546da86] user: js, branch: trunk, size: 3347 [annotate] [blame] [check-ins using] [diff]
17:38
Rename of_{udp_ -> }socket_address file: [01ae00b901] check-in: [b16f2b9e25] user: js, branch: trunk, size: 3054 [annotate] [blame] [check-ins using] [diff]
2018-04-22
16:13
runtime: Define BOOL to be the same as bool

As we define the ABI, we can just replace BOOL with bool everywhere,
including in ObjFW itself. For the Apple platforms where BOOL and bool
are different, this is not a problem as BOOL and bool are passed and
returned the same way in the ABI.

This still defines BOOL to bool for compatibility, except on AmigaOS and
Wii, which both have its own BOOL type. file: [31842887c2] check-in: [fe2cbe0021] user: js, branch: trunk, size: 2233 [annotate] [blame] [check-ins using] [diff]

2018-03-10
19:43
socket.h: Provide sockaddr_storage on AmigaOS 4 file: [e4ca2499ce] check-in: [3924c79b73] user: js, branch: trunk, size: 2362 [annotate] [blame] [check-ins using] [diff]
2018-01-03
19:49
Update copyright notice file: [a0aaae51cb] check-in: [7e5c81e186] user: js, branch: trunk, size: 2337 [annotate] [blame] [check-ins using] [diff]
2017-10-22
14:09
Make Apple GCC with -Wshadow happy file: [ea1fed378b] check-in: [31c0f5b89e] user: js, branch: 0.90, size: 2314 [annotate] [blame] [check-ins using] [diff]
2017-06-04
18:48
Treat MorphOS + ixemul as a separate platform

This reduces the ifdef hell and makes much more sense, as with ixemul,
no native calls are allowed. file: [1d3c37e76e] check-in: [c9621825fc] user: js, branch: trunk, size: 2323 [annotate] [blame] [check-ins using] [diff]

2017-06-03
16:58
Make sockets work on MorphOS + libnix file: [a30a66785b] check-in: [3cba61d694] user: js, branch: trunk, size: 2267 [annotate] [blame] [check-ins using] [diff]
2017-05-17
22:14
typedef socklen_t to int on MorphOS

The previous approach of including <pthread.h> - which has the typedef -
turned out to be wrong, as that header is only a stub and including it
breaks things.

Since all the functions taking a socklen_t on other platforms take an
int on MorphOS, creating a typedef to int is the proper way. file: [40a01b9a4a] check-in: [d302df8b46] user: js, branch: trunk, size: 2037 [annotate] [blame] [check-ins using] [diff]

2017-05-16
22:35
Add struct sockaddr_storage for MorphOS file: [d3d411a803] check-in: [e1559236a9] user: js, branch: trunk, size: 2092 [annotate] [blame] [check-ins using] [diff]
22:24
socket.h: Include pthread.h on MorphOS

Strangely, MorphOS defines socklen_t in pthread.h. file: [61415b2d72] check-in: [69b3cfed8a] user: js, branch: trunk, size: 1978 [annotate] [blame] [check-ins using] [diff]

2017-01-09
17:36
Update copyright

Forgot to add 2017, even though I already did quite some changes in
2017. file: [237f41c8f9] check-in: [44f45c2e35] user: js, branch: trunk, size: 1874 [annotate] [blame] [check-ins using] [diff]

2016-03-27
23:10
Add socket support for Nintendo 3DS

This removes the port registry that existed for the Wii and instead
tries binding to random ports in a loop until it succeeds or errno is
not EADDRINUSE. This is done for the Wii and Nintendo 3DS now.

This also includes several other socket-related cleanups. file: [854e84e0a1] check-in: [12b8a7552e] user: js, branch: trunk, size: 1868 [annotate] [blame] [check-ins using] [diff]

2016-01-03
00:43
Update copyright

While at it, also update the mail address. file: [0af78deb94] check-in: [cec0f072f8] user: js, branch: 0.8, size: 1836 [annotate] [blame] [check-ins using] [diff]

00:41
Update copyright

While at it, also update the mail address. file: [f7e5adc4a8] check-in: [2a27cf3000] user: js, branch: trunk, size: 2042 [annotate] [blame] [check-ins using] [diff]

2015-10-19
22:15
Add platform.h & make platform defines consistent file: [f2d9f73c56] check-in: [1ba08eebc5] user: js, branch: trunk, size: 2038 [annotate] [blame] [check-ins using] [diff]
2015-10-17
10:59
Add a port registry for the Wii

This is necessary as the Wii does not allow picking a random free port,
and thus we need to track which ports are used. file: [6b8f6a13f5] check-in: [ed4549ddd3] user: js, branch: trunk, size: 2006 [annotate] [blame] [check-ins using] [diff]

2015-06-13
22:26
Add support for and use the new nullability file: [c74fa51c3e] check-in: [9e76144ef8] user: js, branch: trunk, size: 1832 [annotate] [blame] [check-ins using] [diff]
2015-05-14
09:58
Clean up a few file and socket related checks file: [dbedacc6ee] check-in: [b37fdafac1] user: js, branch: trunk, size: 1764 [annotate] [blame] [check-ins using] [diff]
2015-05-03
10:16
OFTCPSocket: Add -[setTCPNoDelayEnabled:]

This also adds -[isTCPNoDelayEnabled] and -[isKeepAliveEnabled],
together with OFGetOptionFailedException to indiciate failure to
retrieve the current value of the option. file: [f008ed8126] check-in: [12fbe85aab] user: js, branch: trunk, size: 1784 [annotate] [blame] [check-ins using] [diff]

2015-03-22
11:42
Abstract int vs SOCKET as of_socket_t file: [046f5f35a5] check-in: [099e939079] user: js, branch: trunk, size: 1722 [annotate] [blame] [check-ins using] [diff]
2015-02-18
22:56
Add of_getsockname() and make use of it

of_getsockname() calls getsockname() after acquiring a mutex. This is
necessary as some implementations of getsockname() are not thread-safe. file: [3d1ffffaa0] check-in: [f18615e057] user: js, branch: trunk, size: 1632 [annotate] [blame] [check-ins using] [diff]

2015-02-16
08:39
Explicitly pass errno to exceptions

The old behaviour where the exception would access errno directly on
creation of the exception was very fragile. The two main problems with
it were that sometimes it would pick up an errno even though none had
been set and in other cases that when the exception was created errno
had already been overridden.

This also greatly increases errno handling on Win32, especially in
conjunction with sockets. It can still be improved further, though. file: [347ab62b21] check-in: [62e2de30b9] user: js, branch: trunk, size: 1496 [annotate] [blame] [check-ins using] [diff]

2015-01-03
20:57
Update copyright file: [8dbb1d9128] check-in: [cfd374b906] user: js, branch: trunk, size: 1396 [annotate] [blame] [check-ins using] [diff]
2014-12-13
16:52
Use CLOEXEC for files and sockets file: [57c57cf50c] check-in: [06d2de4571] user: js, branch: trunk, size: 1390 [annotate] [blame] [check-ins using] [diff]
2014-03-05
00:31
Move netinet/in.h include to socket.h

This is required as OFKernelEventObserver uses struct sockaddr_in as an
instance variable in case there is no pipe(). file: [bc099d612b] check-in: [4de1f2a67a] user: js, branch: trunk, size: 1370 [annotate] [blame] [check-ins using] [diff]

2014-02-28
00:41
Make MinGW32 and MinGW-w64 happy at the same time file: [9ed038db51] check-in: [5ca844dd3b] user: js, branch: trunk, size: 1310 [annotate] [blame] [check-ins using] [diff]
2014-02-12
03:17
Fix compilation with mingw-w64 file: [dd03cd91b5] check-in: [6ba4095f05] user: js, branch: trunk, size: 1216 [annotate] [blame] [check-ins using] [diff]
03:17
Fix compilation with mingw32 file: [ef3d903192] check-in: [fab07a40ca] user: js, branch: trunk, size: 1193 [annotate] [blame] [check-ins using] [diff]
2014-02-03
14:43
Move socket initialization to a single place file: [49c77e6e7b] check-in: [414c87ec13] user: js, branch: trunk, size: 1171 [annotate] [blame] [check-ins using] [diff]
2014-01-25
19:33
Added: Move socket includes and helpers to separate files

The new file socket.h includes all headers required for sockets on the
used platform, while the file socket_helpers.h defines the BSD API
functions to the platform specific functions if necessary.

This cleans up the classes dealing with sockets a lot and also reduces
code duplication. file: [2c4b5dfd5d] check-in: [81d47f4398] user: js, branch: trunk, size: 1113 [annotate] [blame] [check-ins using]