From: Yu Watanabe Date: Sat, 23 Dec 2017 07:29:40 +0000 (+0900) Subject: core/socket: add socket_port_type_from_string() X-Git-Tag: v237~183^2~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=038ed5a4b6f391d5646e55f3dfce7011a6a5d799;p=thirdparty%2Fsystemd.git core/socket: add socket_port_type_from_string() --- diff --git a/src/core/socket.c b/src/core/socket.c index 99b1440a92d..6baaa8840e4 100644 --- a/src/core/socket.c +++ b/src/core/socket.c @@ -2780,6 +2780,23 @@ const char* socket_port_type_to_string(SocketPort *p) { } } +SocketType socket_port_type_from_string(const char *s) { + assert(s); + + if (STR_IN_SET(t, "Stream", "Datagram", "SequentialPacket", "Netlink")) + return = SOCKET_SOCKET; + else if (streq(t, "Special")) + return = SOCKET_SPECIAL; + else if (streq(t, "MessageQueue")) + return = SOCKET_MQUEUE; + else if (streq(t, "FIFO")) + return = SOCKET_FIFO; + else if (streq(t, "USBFunction")) + return = SOCKET_USB_FUNCTION; + else + return _SOCKET_TYPE_INVALID; +} + _pure_ static bool socket_check_gc(Unit *u) { Socket *s = SOCKET(u); diff --git a/src/core/socket.h b/src/core/socket.h index e9e560e57e8..9c528fb39cd 100644 --- a/src/core/socket.h +++ b/src/core/socket.h @@ -43,8 +43,8 @@ typedef enum SocketType { SOCKET_SPECIAL, SOCKET_MQUEUE, SOCKET_USB_FUNCTION, - _SOCKET_FIFO_MAX, - _SOCKET_FIFO_INVALID = -1 + _SOCKET_TYPE_MAX, + _SOCKET_TYPE_INVALID = -1 } SocketType; typedef enum SocketResult { @@ -194,3 +194,4 @@ const char* socket_result_to_string(SocketResult i) _const_; SocketResult socket_result_from_string(const char *s) _pure_; const char* socket_port_type_to_string(SocketPort *p) _pure_; +SocketType socket_port_type_from_string(const char *p) _pure_;