15e8dbd04SDag-Erling Smørgrav /* $OpenBSD: misc.h,v 1.21 2005/03/01 10:09:52 djm Exp $ */ 21e8db6e2SBrian Feldman 31e8db6e2SBrian Feldman /* 41e8db6e2SBrian Feldman * Author: Tatu Ylonen <ylo@cs.hut.fi> 51e8db6e2SBrian Feldman * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland 61e8db6e2SBrian Feldman * All rights reserved 71e8db6e2SBrian Feldman * 81e8db6e2SBrian Feldman * As far as I am concerned, the code I have written for this software 91e8db6e2SBrian Feldman * can be used freely for any purpose. Any derived versions of this 101e8db6e2SBrian Feldman * software must be clearly marked as such, and if the derived work is 111e8db6e2SBrian Feldman * incompatible with the protocol description in the RFC file, it must be 121e8db6e2SBrian Feldman * called by a name other than "ssh" or "Secure Shell". 131e8db6e2SBrian Feldman */ 141e8db6e2SBrian Feldman 15d74d50a8SDag-Erling Smørgrav /* misc.c */ 16d74d50a8SDag-Erling Smørgrav 17ae1f160dSDag-Erling Smørgrav char *chop(char *); 18ae1f160dSDag-Erling Smørgrav char *strdelim(char **); 19d74d50a8SDag-Erling Smørgrav int set_nonblock(int); 20d74d50a8SDag-Erling Smørgrav int unset_nonblock(int); 21ae1f160dSDag-Erling Smørgrav void set_nodelay(int); 22ae1f160dSDag-Erling Smørgrav int a2port(const char *); 235e8dbd04SDag-Erling Smørgrav char *hpdelim(char **); 24ae1f160dSDag-Erling Smørgrav char *cleanhostname(char *); 25ae1f160dSDag-Erling Smørgrav char *colon(char *); 26ae1f160dSDag-Erling Smørgrav long convtime(const char *); 271e8db6e2SBrian Feldman 28ae1f160dSDag-Erling Smørgrav struct passwd *pwcopy(struct passwd *); 291e8db6e2SBrian Feldman 30ae1f160dSDag-Erling Smørgrav typedef struct arglist arglist; 31ae1f160dSDag-Erling Smørgrav struct arglist { 32ae1f160dSDag-Erling Smørgrav char **list; 33d74d50a8SDag-Erling Smørgrav u_int num; 34d74d50a8SDag-Erling Smørgrav u_int nalloc; 35ae1f160dSDag-Erling Smørgrav }; 36ae1f160dSDag-Erling Smørgrav void addargs(arglist *, char *, ...) __attribute__((format(printf, 2, 3))); 37d74d50a8SDag-Erling Smørgrav 38d74d50a8SDag-Erling Smørgrav /* tildexpand.c */ 39d74d50a8SDag-Erling Smørgrav 40d74d50a8SDag-Erling Smørgrav char *tilde_expand_filename(const char *, uid_t); 41d74d50a8SDag-Erling Smørgrav 42d74d50a8SDag-Erling Smørgrav /* readpass.c */ 43d74d50a8SDag-Erling Smørgrav 44d74d50a8SDag-Erling Smørgrav #define RP_ECHO 0x0001 45d74d50a8SDag-Erling Smørgrav #define RP_ALLOW_STDIN 0x0002 46d74d50a8SDag-Erling Smørgrav #define RP_ALLOW_EOF 0x0004 47d74d50a8SDag-Erling Smørgrav #define RP_USE_ASKPASS 0x0008 48d74d50a8SDag-Erling Smørgrav 49d74d50a8SDag-Erling Smørgrav char *read_passphrase(const char *, int); 505e8dbd04SDag-Erling Smørgrav int ask_permission(const char *, ...) __attribute__((format(printf, 1, 2))); 515e8dbd04SDag-Erling Smørgrav int read_keyfile_line(FILE *, const char *, char *, size_t, u_long *); 52