control_cmd_args_st.h (1247B)
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 */ 6 7 /** 8 * \file control_cmd_args_st.h 9 * \brief Definition for control_cmd_args_t 10 **/ 11 12 #ifndef TOR_CONTROL_CMD_ST_H 13 #define TOR_CONTROL_CMD_ST_H 14 15 struct smartlist_t; 16 struct config_line_t; 17 18 /** 19 * Parsed arguments for a control command. 20 * 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; 50 }; 51 52 #endif /* !defined(TOR_CONTROL_CMD_ST_H) */