From 038ed5a4b6f391d5646e55f3dfce7011a6a5d799 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Sat, 23 Dec 2017 16:29:40 +0900 Subject: [PATCH] core/socket: add socket_port_type_from_string() --- src/core/socket.c | 17 +++++++++++++++++ src/core/socket.h | 5 +++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/src/core/socket.c b/src/core/socket.c index 99b1440a92..6baaa8840e 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 e9e560e57e..9c528fb39c 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_;