+int add_service_pipe(char *name, const char *port, int max_connections,
+ new_connection_handler_t new_connection_handler, input_handler_t input_handler,
+ connection_closed_handler_t connection_closed_handler, void *priv)
+{
+ enum connection_type type = CONNECTION_TCP;
+ long portnumber;
+ char *end;
+ strtol(port, &end, 0);
+ if (!*end)
+ {
+ if ((parse_long(port, &portnumber) == ERROR_OK) && (portnumber == 0))
+ {
+ type = CONNECTION_PIPE;
+ }
+ } else
+ {
+ LOG_ERROR("Illegal port number %s", port);
+ return ERROR_FAIL;
+ }
+ return add_service(name, type, portnumber, max_connections, new_connection_handler,
+ input_handler, connection_closed_handler, priv);
+}
+