]>
Commit | Line | Data |
---|---|---|
2c06c99b | 1 | /* $OpenBSD: misc.h,v 1.29 2006/01/31 10:19:02 djm Exp $ */ |
3c0ef626 | 2 | |
3 | /* | |
4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | |
5 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | |
6 | * All rights reserved | |
7 | * | |
8 | * As far as I am concerned, the code I have written for this software | |
9 | * can be used freely for any purpose. Any derived versions of this | |
10 | * software must be clearly marked as such, and if the derived work is | |
11 | * incompatible with the protocol description in the RFC file, it must be | |
12 | * called by a name other than "ssh" or "Secure Shell". | |
13 | */ | |
14 | ||
c9f39d2c | 15 | /* misc.c */ |
16 | ||
3c0ef626 | 17 | char *chop(char *); |
18 | char *strdelim(char **); | |
c9f39d2c | 19 | int set_nonblock(int); |
20 | int unset_nonblock(int); | |
e9a17296 | 21 | void set_nodelay(int); |
3c0ef626 | 22 | int a2port(const char *); |
2c06c99b | 23 | int a2tun(const char *, int *); |
996d5e62 | 24 | char *hpdelim(char **); |
3c0ef626 | 25 | char *cleanhostname(char *); |
26 | char *colon(char *); | |
27 | long convtime(const char *); | |
665a873d | 28 | char *tilde_expand_filename(const char *, uid_t); |
29 | char *percent_expand(const char *, ...) __attribute__((__sentinel__)); | |
30 | char *tohex(const u_char *, u_int); | |
2c06c99b | 31 | void sanitise_stdfd(void); |
3c0ef626 | 32 | |
33 | struct passwd *pwcopy(struct passwd *); | |
34 | ||
35 | typedef struct arglist arglist; | |
36 | struct arglist { | |
700318f3 | 37 | char **list; |
c9f39d2c | 38 | u_int num; |
39 | u_int nalloc; | |
3c0ef626 | 40 | }; |
2c06c99b | 41 | void addargs(arglist *, char *, ...) |
42 | __attribute__((format(printf, 2, 3))); | |
43 | void replacearg(arglist *, u_int, char *, ...) | |
44 | __attribute__((format(printf, 3, 4))); | |
45 | void freeargs(arglist *); | |
c9f39d2c | 46 | |
c9f39d2c | 47 | /* readpass.c */ |
48 | ||
49 | #define RP_ECHO 0x0001 | |
50 | #define RP_ALLOW_STDIN 0x0002 | |
51 | #define RP_ALLOW_EOF 0x0004 | |
52 | #define RP_USE_ASKPASS 0x0008 | |
53 | ||
54 | char *read_passphrase(const char *, int); | |
996d5e62 | 55 | int ask_permission(const char *, ...) __attribute__((format(printf, 1, 2))); |
56 | int read_keyfile_line(FILE *, const char *, char *, size_t, u_long *); | |
2c06c99b | 57 | |
58 | int tun_open(int, int); | |
59 | ||
60 | /* Common definitions for ssh tunnel device forwarding */ | |
61 | #define SSH_TUNMODE_NO 0x00 | |
62 | #define SSH_TUNMODE_POINTOPOINT 0x01 | |
63 | #define SSH_TUNMODE_ETHERNET 0x02 | |
64 | #define SSH_TUNMODE_DEFAULT SSH_TUNMODE_POINTOPOINT | |
65 | #define SSH_TUNMODE_YES (SSH_TUNMODE_POINTOPOINT|SSH_TUNMODE_ETHERNET) | |
66 | ||
67 | #define SSH_TUNID_ANY 0x7fffffff | |
68 | #define SSH_TUNID_ERR (SSH_TUNID_ANY - 1) | |
69 | #define SSH_TUNID_MAX (SSH_TUNID_ANY - 2) |