1 module libssh.server.types;
2 
3 import libssh.types;
4 
5 enum ssh_bind_options_e {
6     SSH_BIND_OPTIONS_BINDADDR,
7     SSH_BIND_OPTIONS_BINDPORT,
8     SSH_BIND_OPTIONS_BINDPORT_STR,
9     SSH_BIND_OPTIONS_HOSTKEY,
10     SSH_BIND_OPTIONS_DSAKEY,
11     SSH_BIND_OPTIONS_RSAKEY,
12     SSH_BIND_OPTIONS_BANNER,
13     SSH_BIND_OPTIONS_LOG_VERBOSITY,
14     SSH_BIND_OPTIONS_LOG_VERBOSITY_STR,
15     SSH_BIND_OPTIONS_ECDSAKEY,
16     SSH_BIND_OPTIONS_IMPORT_KEY
17 }
18 
19 enum SSH_BIND_OPTION
20 {
21     BINDADDR          = ssh_bind_options_e.SSH_BIND_OPTIONS_BINDADDR,
22     BINDPORT          = ssh_bind_options_e.SSH_BIND_OPTIONS_BINDPORT,
23     BINDPORT_STR      = ssh_bind_options_e.SSH_BIND_OPTIONS_BINDPORT_STR,
24     HOSTKEY           = ssh_bind_options_e.SSH_BIND_OPTIONS_HOSTKEY,
25     DSAKEY            = ssh_bind_options_e.SSH_BIND_OPTIONS_DSAKEY,
26     RSAKEY            = ssh_bind_options_e.SSH_BIND_OPTIONS_RSAKEY,
27     BANNER            = ssh_bind_options_e.SSH_BIND_OPTIONS_BANNER,
28     LOG_VERBOSITY     = ssh_bind_options_e.SSH_BIND_OPTIONS_LOG_VERBOSITY,
29     LOG_VERBOSITY_STR = ssh_bind_options_e.SSH_BIND_OPTIONS_LOG_VERBOSITY_STR,
30     ECDSAKEY          = ssh_bind_options_e.SSH_BIND_OPTIONS_ECDSAKEY,
31     IMPORT_KEY        = ssh_bind_options_e.SSH_BIND_OPTIONS_IMPORT_KEY
32 }
33 
34 alias ssh_bind = void*;
35 
36 // not used directly, only pointer
37 //struct ssh_bind_callbacks_struct {
38 //  /** DON'T SET THIS use ssh_callbacks_init() instead. */
39 //  size_t size;
40 //  /** A new connection is available. */
41 //  ssh_bind_incoming_connection_callback incoming_connection;
42 //};
43 alias ssh_bind_callbacks = void*;
44 
45 extern (C)
46 {
47     /* Callback functions */
48     
49     /**
50     * @brief Incoming connection callback. This callback is called when a ssh_bind
51     *        has a new incoming connection.
52     * @param sshbind Current sshbind session handler
53     * @param userdata Userdata to be passed to the callback function.
54     */
55     alias ssh_bind_incoming_connection_callback = void function(ssh_bind sshbind, void* userdata);
56 
57     alias ssh_bind_message_callback = int function(ssh_session session, ssh_message msg, void* data);
58 }