26 char *ssh_get_user_home_dir(
void);
27 char *ssh_get_local_username(
void);
28 int ssh_file_readaccess_ok(
const char *file);
31 char *ssh_path_expand_escape(ssh_session session,
const char *s);
32 int ssh_analyze_banner(ssh_session session,
int server,
int *ssh1,
int *ssh2);
33 int ssh_is_ipaddr_v4(
const char *str);
34 int ssh_is_ipaddr(
const char *str);
39 struct ssh_iterator *root;
40 struct ssh_iterator *end;
44 struct ssh_iterator *next;
48 struct ssh_timestamp {
53 enum ssh_quote_state_e {
59 struct ssh_list *ssh_list_new(
void);
60 void ssh_list_free(
struct ssh_list *list);
61 struct ssh_iterator *ssh_list_get_iterator(
const struct ssh_list *list);
62 struct ssh_iterator *ssh_list_find(
const struct ssh_list *list,
void *value);
63 int ssh_list_append(
struct ssh_list *list,
const void *data);
64 int ssh_list_prepend(
struct ssh_list *list,
const void *data);
65 void ssh_list_remove(
struct ssh_list *list,
struct ssh_iterator *iterator);
66 char *ssh_lowercase(
const char* str);
67 char *ssh_hostport(
const char *host,
int port);
69 const void *_ssh_list_pop_head(
struct ssh_list *list);
71 #define ssh_iterator_value(type, iterator)\ 72 ((type)((iterator)->data)) 79 #define ssh_list_pop_head(type, ssh_list)\ 80 ((type)_ssh_list_pop_head(ssh_list)) 82 int ssh_make_milliseconds(
long sec,
long usec);
83 void ssh_timestamp_init(
struct ssh_timestamp *ts);
84 int ssh_timeout_elapsed(
struct ssh_timestamp *ts,
int timeout);
87 int ssh_match_group(
const char *group,
const char *
object);
89 int ssh_quote_file_name(
const char *file_name,
char *buf,
size_t buf_len);
int ssh_timeout_update(struct ssh_timestamp *ts, int timeout)
updates a timeout value so it reflects the remaining time
Definition: misc.c:998
char * ssh_path_expand_tilde(const char *d)
Expand a directory starting with a tilde '~'.
Definition: misc.c:626