Control port STREAM XON/XOFF status event notification
[tor.git] / src / feature / control / control_cmd_args_st.h
blobf97be526058b624bd97e117057673ecff5d52f8d
1 /* Copyright (c) 2001 Matej Pfajfar.
2 * Copyright (c) 2001-2004, Roger Dingledine.
3 * Copyright (c) 2004-2006, Roger Dingledine, Nick Mathewson.
4 * Copyright (c) 2007-2021, The Tor Project, Inc. */
5 /* See LICENSE for licensing information */
7 /**
8 * \file control_cmd_args_st.h
9 * \brief Definition for control_cmd_args_t
10 **/
12 #ifndef TOR_CONTROL_CMD_ST_H
13 #define TOR_CONTROL_CMD_ST_H
15 struct smartlist_t;
16 struct config_line_t;
18 /**
19 * Parsed arguments for a control command.
21 * WORK IN PROGRESS: This structure is going to get more complex as this
22 * branch goes on.
23 **/
24 struct control_cmd_args_t {
25 /**
26 * The command itself, as provided by the controller. Not owned by this
27 * structure.
28 **/
29 const char *command;
30 /**
31 * Positional arguments to the command.
32 **/
33 struct smartlist_t *args;
34 /**
35 * Keyword arguments to the command.
36 **/
37 struct config_line_t *kwargs;
38 /**
39 * Number of bytes in <b>cmddata</b>; 0 if <b>cmddata</b> is not set.
40 **/
41 size_t cmddata_len;
42 /**
43 * A multiline object passed with this command.
44 **/
45 char *cmddata;
46 /**
47 * If set, a nul-terminated string containing the raw unparsed arguments.
48 **/
49 const char *raw_body;
52 #endif /* !defined(TOR_CONTROL_CMD_ST_H) */