1 /** \file command.h The structure of server and afs commands. */
3 /** Per connection data available to command handlers. */
4 struct command_context {
5 /** Network address of the peer. */
7 /** The paraslash user that executes this command. */
11 /** Argument vector. */
13 /** The command being executed. */
14 struct server_command *cmd;
15 /** File descriptor and crypto keys. */
16 struct stream_cipher_context scc;
17 /** Whether to use the sideband API for this command. */
22 * Defines one command of para_server.
24 struct server_command {
25 /** The name of the command. */
27 /** Pointer to the function that handles the command. */
28 int (*handler)(struct command_context *);
29 /** The privileges a user must have to execute this command. */
31 /** One-line description of the command. */
32 const char *description;
33 /** Summary of the command line options. */
35 /** The long help text. */