/*
- Copyright (C) 1998-2010 Paul Barton-Davis
+ Copyright (C) 1998-2010 Paul Barton-Davis
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
#include <string>
#include <iostream>
-#if defined(WIN32)
+#if defined(PLATFORM_WINDOWS)
#include <winsock.h>
-#elif defined(__FREE_BSD__)
+#elif defined(__FreeBSD__) || defined(__OpenBSD__)
#include <netinet/in.h>
#include <sys/socket.h>
+#if defined(__FreeBSD__)
#include <sys/_sockaddr_storage.h>
+#endif
#include <arpa/inet.h>
#include <netinet/ip_carp.h>
#include <sys/types.h>
IPMIDIPort (int base_port = lowest_ipmidi_port_default, const std::string& ifname = std::string());
IPMIDIPort (const XMLNode&);
~IPMIDIPort ();
-
+
XMLNode& get_state () const;
void set_state (const XMLNode&);
-
+
int write (const byte *msg, size_t msglen, timestamp_t timestamp);
int read (byte *buf, size_t bufsize);
void parse (framecnt_t timestamp);
static const int lowest_ipmidi_port_default = 21928;
-private:
+private:
int sockin;
int sockout;
struct sockaddr_in addrout;
- Glib::Threads::Mutex write_lock;
+ Glib::Threads::Mutex write_lock;
bool open_sockets (int base_port, const std::string& ifname);
void close_sockets ();