8000 Update osc.c · g-coder/midikit@78e0c5c · GitHub
[go: up one dir, main page]

Skip to content

Commit 78e0c5c

Browse files
committed
Update osc.c
Adding support for IPv6 connections.
1 parent 0204141 commit 78e0c5c

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

driver/osc/osc.c

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,24 @@ struct MIDIDriverOSC {
2424

2525
struct MIDIDriverOSC * MIDIDriverOSCCreate( ) {
2626
struct MIDIDriverOSC * driver = malloc( sizeof( struct MIDIDriverOSC ) );
27+
#if (defined(AF_INET6) && defined(ENABLE_IPV6))
28+
struct sockaddr_in6 addr;
29+
memset(&addr, 0, sizeof(addr));
30+
31+
driver->refs = 1;
32+
driver->socket = socket( PF_INET6, SOCK_DGRAM, 0 );
33+
34+
if (driver->socket == -1)
35+
{
36+
free (driver);
37+
return NULL;
38+
}
39+
40+
addr.sin6_family = AF_INET6;
41+
addr.sin6_port = 5006;
42+
addr.sin6_addr = in6addr_any;
43+
44+
#else
2745
struct sockaddr_in addr;
2846
memset(&addr, 0, sizeof(addr));
2947

@@ -39,7 +57,7 @@ struct MIDIDriverOSC * MIDIDriverOSCCreate( ) {
3957
addr.sin_family = AF_INET;
4058
addr.sin_port = 5006;
4159
addr.sin_addr.s_addr = INADDR_ANY;
42-
60+
#endif
4361
bind( driver->socket, (struct sockaddr *) &addr, sizeof(addr) );
4462

4563
driver->in_queue = MIDIMessageQueueCreate();

0 commit comments

Comments
 (0)
0