From 5de837cc67ccbd30c5d3b13579c697cf1061d252 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Thu, 28 Jun 2007 18:06:25 +0100 Subject: Mildly ugly hack to force correct linkage. --- src/include/gpxe/socket.h | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) (limited to 'src/include') diff --git a/src/include/gpxe/socket.h b/src/include/gpxe/socket.h index d47369aac..9c7afb871 100644 --- a/src/include/gpxe/socket.h +++ b/src/include/gpxe/socket.h @@ -12,8 +12,15 @@ * * @{ */ -#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[]; + /** @} */ /** @@ -24,10 +31,13 @@ */ 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"; } } -- cgit v1.2.3-55-g7522