]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
Mildly ugly hack to force correct linkage.
authorMichael Brown <mcb30@etherboot.org>
Thu, 28 Jun 2007 17:06:25 +0000 (18:06 +0100)
committerMichael Brown <mcb30@etherboot.org>
Thu, 28 Jun 2007 17:06:25 +0000 (18:06 +0100)
src/include/gpxe/socket.h
src/net/tcp.c
src/net/udp.c

index d47369aac7596120077f8079db30f766e35c8de6..9c7afb871faf7a3f12298f7482ef4e6dad658289 100644 (file)
  *
  * @{
  */
-#define SOCK_STREAM    1       /**< Connection-based, reliable streams */
-#define SOCK_DGRAM     2       /**< Connectionless, unreliable streams */
+
+/** Connection-based, reliable streams */
+#define SOCK_STREAM    ( ( int ) TCP_SOCK_STREAM )
+extern char TCP_SOCK_STREAM[];
+
+/** Connectionless, unreliable streams */
+#define SOCK_DGRAM     ( ( int ) UDP_SOCK_DGRAM )
+extern char UDP_SOCK_DGRAM[];
+
 /** @} */
 
 /**
  */
 static inline __attribute__ (( always_inline )) const char *
 socket_semantics_name ( int semantics ) {
-       switch ( semantics ) {
-       case SOCK_STREAM:       return "SOCK_STREAM";
-       case SOCK_DGRAM:        return "SOCK_DGRAM";
-       default:                return "SOCK_UNKNOWN";
+       /* Cannot use a switch() because of the {TCP_UDP}_SOCK_XXX hack */
+       if ( semantics == SOCK_STREAM ) {
+               return "SOCK_STREAM";
+       } else if ( semantics == SOCK_DGRAM ) {
+               return "SOCK_DGRAM";
+       } else {
+               return "SOCK_UNKNOWN";
        }
 }
 
index 00c7b74233a3e87290b0e132ac847ffbe1675742..ebfaaa4ae7119e237e75274678a00bf605386b84 100644 (file)
@@ -973,6 +973,8 @@ struct socket_opener tcp_socket_opener __socket_opener = {
        .open           = tcp_open,
 };
 
+char TCP_SOCK_STREAM[1];
+
 /**
  * Open TCP URI
  *
index c99a3eb6a7d763197d82e3e9b04b1e8c0ecf246b..c6216d8ff59d3dc07604723f61052a4b50872837 100644 (file)
@@ -436,6 +436,8 @@ struct socket_opener udp_socket_opener __socket_opener = {
        .open           = udp_open,
 };
 
+char UDP_SOCK_DGRAM[1];
+
 /**
  * Open UDP URI
  *