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 }