Ben Lindstrom | 16ae3d0 | 2001-07-04 04:02:36 +0000 | [diff] [blame] | 1 | /* $OpenBSD: misc.h,v 1.9 2001/06/26 06:32:56 itojun Exp $ */ |
Ben Lindstrom | 36579d3 | 2001-01-29 07:39:26 +0000 | [diff] [blame] | 2 | |
Ben Lindstrom | 226cfa0 | 2001-01-22 05:34:40 +0000 | [diff] [blame] | 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 | /* remove newline at end of string */ |
Ben Lindstrom | 16ae3d0 | 2001-07-04 04:02:36 +0000 | [diff] [blame] | 15 | char *chop(char *); |
Ben Lindstrom | 226cfa0 | 2001-01-22 05:34:40 +0000 | [diff] [blame] | 16 | |
| 17 | /* return next token in configuration line */ |
Ben Lindstrom | 16ae3d0 | 2001-07-04 04:02:36 +0000 | [diff] [blame] | 18 | char *strdelim(char **); |
Ben Lindstrom | 226cfa0 | 2001-01-22 05:34:40 +0000 | [diff] [blame] | 19 | |
Ben Lindstrom | c93e84c | 2001-05-12 00:08:37 +0000 | [diff] [blame] | 20 | /* set/unset filedescriptor to non-blocking */ |
Ben Lindstrom | 16ae3d0 | 2001-07-04 04:02:36 +0000 | [diff] [blame] | 21 | void set_nonblock(int); |
| 22 | void unset_nonblock(int); |
Kevin Steves | b6e773a | 2001-02-04 13:20:36 +0000 | [diff] [blame] | 23 | |
Ben Lindstrom | 16ae3d0 | 2001-07-04 04:02:36 +0000 | [diff] [blame] | 24 | struct passwd * pwcopy(struct passwd *); |
Ben Lindstrom | 086cf21 | 2001-03-05 05:56:40 +0000 | [diff] [blame] | 25 | |
Ben Lindstrom | 19066a1 | 2001-04-12 23:39:26 +0000 | [diff] [blame] | 26 | /* |
| 27 | * Convert ASCII string to TCP/IP port number. |
| 28 | * Port must be >0 and <=65535. |
| 29 | * Return 0 if invalid. |
| 30 | */ |
Ben Lindstrom | 16ae3d0 | 2001-07-04 04:02:36 +0000 | [diff] [blame] | 31 | int a2port(const char *); |
Ben Lindstrom | 387c472 | 2001-05-08 20:27:25 +0000 | [diff] [blame] | 32 | |
Ben Lindstrom | 4529b70 | 2001-05-03 23:39:53 +0000 | [diff] [blame] | 33 | /* code from scp.c/rcp.c */ |
Ben Lindstrom | 16ae3d0 | 2001-07-04 04:02:36 +0000 | [diff] [blame] | 34 | char *cleanhostname(char *); |
| 35 | char *colon(char *); |
Ben Lindstrom | 19066a1 | 2001-04-12 23:39:26 +0000 | [diff] [blame] | 36 | |
Ben Lindstrom | 1bda4c8 | 2001-06-05 19:59:08 +0000 | [diff] [blame] | 37 | /* |
| 38 | * Convert a time string into seconds; format is |
| 39 | * a sequence of: |
| 40 | * time[qualifier] |
| 41 | * |
| 42 | * Valid time qualifiers are: |
| 43 | * <none> seconds |
| 44 | * s|S seconds |
| 45 | * m|M minutes |
| 46 | * h|H hours |
| 47 | * d|D days |
| 48 | * w|W weeks |
| 49 | * |
| 50 | * Examples: |
| 51 | * 90m 90 minutes |
| 52 | * 1h30m 90 minutes |
| 53 | * 2d 2 days |
| 54 | * 1w 1 week |
| 55 | * |
| 56 | * Return -1 if time string is invalid. |
| 57 | */ |
| 58 | |
Ben Lindstrom | 16ae3d0 | 2001-07-04 04:02:36 +0000 | [diff] [blame] | 59 | long convtime(const char *); |
Ben Lindstrom | 1bda4c8 | 2001-06-05 19:59:08 +0000 | [diff] [blame] | 60 | |
Ben Lindstrom | 387c472 | 2001-05-08 20:27:25 +0000 | [diff] [blame] | 61 | /* function to assist building execv() arguments */ |
| 62 | typedef struct arglist arglist; |
| 63 | struct arglist { |
| 64 | char **list; |
| 65 | int num; |
| 66 | int nalloc; |
| 67 | }; |
| 68 | |
Ben Lindstrom | 16ae3d0 | 2001-07-04 04:02:36 +0000 | [diff] [blame] | 69 | void addargs(arglist *, char *, ...) __attribute__((format(printf, 2, 3))); |
Ben Lindstrom | 387c472 | 2001-05-08 20:27:25 +0000 | [diff] [blame] | 70 | |
Kevin Steves | b6e773a | 2001-02-04 13:20:36 +0000 | [diff] [blame] | 71 | /* wrapper for signal interface */ |
| 72 | typedef void (*mysig_t)(int); |
| 73 | mysig_t mysignal(int sig, mysig_t act); |