CMSIS-DAP: auto-detect CMSIS-DAP USB VID:PID
[fw/openocd] / src / server / server.h
index 46188bb44e2a91916ba862bbfaa20ebfaff0a1ef..b444939729d9c7107a721879296736e222cc5411 100644 (file)
@@ -21,8 +21,9 @@
  *   You should have received a copy of the GNU General Public License     *
  *   along with this program; if not, write to the                         *
  *   Free Software Foundation, Inc.,                                       *
- *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ *   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.           *
  ***************************************************************************/
+
 #ifndef SERVER_H
 #define SERVER_H
 
 #include <netinet/in.h>
 #endif
 
-enum connection_type
-{
+enum connection_type {
        CONNECTION_TCP,
-       CONNECTION_PIPE
+       CONNECTION_PIPE,
+       CONNECTION_STDINOUT
 };
 
-struct connection
-{
+struct connection {
        int fd;
-       int fd_out; /* When using pipes we're writing to a different fd */
+       int fd_out;     /* When using pipes we're writing to a different fd */
        struct sockaddr_in sin;
        struct command_context *cmd_ctx;
        struct service *service;
@@ -54,11 +54,11 @@ typedef int (*new_connection_handler_t)(struct connection *connection);
 typedef int (*input_handler_t)(struct connection *connection);
 typedef int (*connection_closed_handler_t)(struct connection *connection);
 
-struct service
-{
+struct service {
        char *name;
        enum connection_type type;
-       unsigned short port;
+       char *port;
+       unsigned short portnumber;
        int fd;
        struct sockaddr_in sin;
        int max_connections;
@@ -70,7 +70,7 @@ struct service
        struct service *next;
 };
 
-int add_service(char *name, enum connection_type type, unsigned short port,
+int add_service(char *name, const char *port,
                int max_connections, new_connection_handler_t new_connection_handler,
                input_handler_t in_handler, connection_closed_handler_t close_handler,
                void *priv);
@@ -87,11 +87,11 @@ int connection_write(struct connection *connection, const void *data, int len);
 int connection_read(struct connection *connection, void *data, int len);
 
 /**
- * Used by server_loop(), defined in server_stubs.c, httpd.c, or ecosboard.c
+ * Used by server_loop(), defined in server_stubs.c
  */
 void openocd_sleep_prelude(void);
 /**
- * Used by server_loop(), defined in server_stubs.c, httpd.c, or ecosboard.c
+ * Used by server_loop(), defined in server_stubs.c
  */
 void openocd_sleep_postlude(void);
 
@@ -101,14 +101,11 @@ void openocd_sleep_postlude(void);
  * Call server_port like a normal COMMAND_HANDLER with an extra @a out parameter
  * to receive the specified port number.
  */
-#define SERVER_PORT_COMMAND() \
-               COMMAND_HELPER(server_port_command, unsigned short *out)
-
-SERVER_PORT_COMMAND();
+COMMAND_HELPER(server_pipe_command, char **out);
 
-extern int server_use_pipes;
+COMMAND_HELPER(server_port_command, unsigned short *out);
 
-#define ERROR_SERVER_REMOTE_CLOSED     (-400)
-#define ERROR_CONNECTION_REJECTED      (-401)
+#define ERROR_SERVER_REMOTE_CLOSED             (-400)
+#define ERROR_CONNECTION_REJECTED              (-401)
 
-#endif /* SERVER_H */
+#endif /* SERVER_H */