27 char *ssh_get_user_home_dir(
void);
28 char *ssh_get_local_username(ssh_session session);
29 int ssh_file_readaccess_ok(
const char *file);
32 char *ssh_path_expand_escape(ssh_session session,
const char *s);
33 int ssh_analyze_banner(ssh_session session,
int server,
int *ssh1,
int *ssh2);
34 int ssh_is_ipaddr_v4(
const char *str);
35 int ssh_is_ipaddr(
const char *str);
38 uint64_t ntohll(uint64_t);
39 #define htonll(x) ntohll(x)
44 struct ssh_iterator *root;
45 struct ssh_iterator *end;
49 struct ssh_iterator *next;
53 struct ssh_timestamp {
58 struct ssh_list *ssh_list_new(
void);
59 void ssh_list_free(
struct ssh_list *list);
60 struct ssh_iterator *ssh_list_get_iterator(
const struct ssh_list *list);
61 struct ssh_iterator *ssh_list_find(
const struct ssh_list *list,
void *value);
62 int ssh_list_append(
struct ssh_list *list,
const void *data);
63 int ssh_list_prepend(
struct ssh_list *list,
const void *data);
64 void ssh_list_remove(
struct ssh_list *list,
struct ssh_iterator *iterator);
65 char *ssh_lowercase(
const char* str);
66 char *ssh_hostport(
const char *host,
int port);
68 const void *_ssh_list_pop_head(
struct ssh_list *list);
70 #define ssh_iterator_value(type, iterator)\
71 ((type)((iterator)->data))
78 #define ssh_list_pop_head(type, ssh_list)\
79 ((type)_ssh_list_pop_head(ssh_list))
81 int ssh_make_milliseconds(
long sec,
long usec);
82 void ssh_timestamp_init(
struct ssh_timestamp *ts);
83 int ssh_timeout_elapsed(
struct ssh_timestamp *ts,
int timeout);