diff options
author | Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org> | 2004-07-20 22:11:31 +0000 |
---|---|---|
committer | Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org> | 2004-07-20 22:11:31 +0000 |
commit | c19ae258f85b6e1c6684d2a9235f6104b52dd842 (patch) | |
tree | dc54a974457b22a6269e1ccc0b1fae031b94d290 /mbone/udpcast/files | |
parent | fdf5e9f29ad4a3efe26c2431f89f91e25cf20d37 (diff) |
Notes
Diffstat (limited to 'mbone/udpcast/files')
-rw-r--r-- | mbone/udpcast/files/patch-participants.h | 10 | ||||
-rw-r--r-- | mbone/udpcast/files/patch-socklib.c | 38 | ||||
-rw-r--r-- | mbone/udpcast/files/patch-statistics.c | 11 | ||||
-rw-r--r-- | mbone/udpcast/files/patch-udpr-negotiate.c | 60 |
4 files changed, 119 insertions, 0 deletions
diff --git a/mbone/udpcast/files/patch-participants.h b/mbone/udpcast/files/patch-participants.h new file mode 100644 index 000000000000..f09b1aa4c62b --- /dev/null +++ b/mbone/udpcast/files/patch-participants.h @@ -0,0 +1,10 @@ +--- participants.h.orig Tue Jul 20 13:49:28 2004 ++++ participants.h Tue Jul 20 13:49:40 2004 +@@ -3,6 +3,7 @@ + + #define MAX_CLIENTS 1024 + ++#include <sys/types.h> + #include <sys/socket.h> + + typedef struct participantsDb *participantsDb_t; diff --git a/mbone/udpcast/files/patch-socklib.c b/mbone/udpcast/files/patch-socklib.c new file mode 100644 index 000000000000..03d62095cdad --- /dev/null +++ b/mbone/udpcast/files/patch-socklib.c @@ -0,0 +1,38 @@ +--- socklib.c.orig Sat Feb 21 13:58:37 2004 ++++ socklib.c Tue Jul 20 17:58:51 2004 +@@ -16,6 +16,8 @@ + #include "log.h" + #include "socklib.h" + ++#undef SIOCGIFINDEX ++ + #ifdef LOSSTEST + /** + * Packet loss/swap testing... +@@ -289,7 +291,7 @@ + + int setTtl(int sock, int ttl) { + /* set the socket to broadcast */ +- return setsockopt(sock, SOL_IP, IP_MULTICAST_TTL, &ttl, sizeof(int)); ++ return setsockopt(sock, IPPROTO_IP, IP_MULTICAST_TTL, &ttl, sizeof(int)); + } + + #ifdef SIOCGIFINDEX +@@ -334,7 +336,7 @@ + int r; + + fillMreq(sock, ifname, addr, &mreq); +- r = setsockopt(sock, SOL_IP, code, &mreq, sizeof(mreq)); ++ r = setsockopt(sock, IPPROTO_IP, code, &mreq, sizeof(mreq)); + if(r < 0) { + perror(message); + exit(1); +@@ -366,7 +368,7 @@ + + + int setMcastDestination(int sock, char *ifname, struct sockaddr *addr) { +-#ifdef __CYGWIN__ ++#if defined(__CYGWIN__) || defined(__FreeBSD__) + int r; + struct sockaddr interface_addr; + struct in_addr if_addr; diff --git a/mbone/udpcast/files/patch-statistics.c b/mbone/udpcast/files/patch-statistics.c new file mode 100644 index 000000000000..176e5136b246 --- /dev/null +++ b/mbone/udpcast/files/patch-statistics.c @@ -0,0 +1,11 @@ +--- statistics.c.orig Tue Jul 20 10:46:11 2004 ++++ statistics.c Tue Jul 20 12:00:59 2004 +@@ -37,7 +37,7 @@ + static void printFilePosition(int fd) { + #ifndef __CYGWIN__ + if(fd != -1) { +- loff_t offset = lseek64(fd, 0, SEEK_CUR); ++ off_t offset = lseek(fd, 0, SEEK_CUR); + printLongNum(offset); + } + #endif diff --git a/mbone/udpcast/files/patch-udpr-negotiate.c b/mbone/udpcast/files/patch-udpr-negotiate.c new file mode 100644 index 000000000000..db9f50ba147d --- /dev/null +++ b/mbone/udpcast/files/patch-udpr-negotiate.c @@ -0,0 +1,60 @@ +--- udpr-negotiate.c.orig Sat Feb 21 14:08:49 2004 ++++ udpr-negotiate.c Tue Jul 20 13:44:05 2004 +@@ -2,6 +2,10 @@ + #include <unistd.h> + #include <errno.h> + ++#if (defined(__unix__) || defined(unix)) && !defined(USG) ++#include <sys/param.h> ++#endif ++ + #include "log.h" + #include "socklib.h" + #include "udpcast.h" +@@ -16,6 +20,10 @@ + # define O_BINARY 0 + #endif + ++#ifdef __FreeBSD__ ++struct client_config client_config_on_exit_hack; ++#endif ++ + static int sendConnectReq(struct client_config *client_config, + struct net_config *net_config, + int haveServerAddress) { +@@ -48,6 +56,12 @@ + sendDisconnect(exitStatus, (struct client_config *) args); + } + ++#ifdef __FreeBSD__ ++static void sendDisconnectWrapper_on_exit_handler() { ++ sendDisconnectWrapper(0, &client_config_on_exit_hack); ++} ++#endif ++ + void sendDisconnect(int exitStatus, + struct client_config *client_config) { + int endianness = client_config->endianness; +@@ -144,7 +158,7 @@ + if(disk_config->fileName != NULL) { + int oflags = O_CREAT | O_WRONLY; + if(!(disk_config->flags & FLAG_NOSYNC)) { +- oflags |= O_SYNC; ++ oflags |= O_FSYNC; + } + outFile = open(disk_config->fileName, oflags | O_BINARY, 0644); + if(outFile < 0) { +@@ -333,7 +347,13 @@ + pipedOutFile = openPipe(client_config.toServer, outFile, disk_config, + &pipePid); + #ifndef __CYGWIN__ ++# ifdef __FreeBSD__ ++ client_config_on_exit_hack = client_config; ++ ++ atexit(sendDisconnectWrapper_on_exit_handler); ++# else + on_exit(sendDisconnectWrapper, &client_config); ++# endif + #endif + { + struct fifo fifo; |