13b7e1cc8SPeter Wemm /* 23b7e1cc8SPeter Wemm * Copyright (c) 1995 Peter Wemm <peter@freebsd.org> 33b7e1cc8SPeter Wemm * All rights reserved. 43b7e1cc8SPeter Wemm * 53b7e1cc8SPeter Wemm * Redistribution and use in source and binary forms, with or without 63b7e1cc8SPeter Wemm * modification, is permitted provided that the following conditions 73b7e1cc8SPeter Wemm * are met: 83b7e1cc8SPeter Wemm * 1. Redistributions of source code must retain the above copyright 93b7e1cc8SPeter Wemm * notice immediately at the beginning of the file, without modification, 103b7e1cc8SPeter Wemm * this list of conditions, and the following disclaimer. 113b7e1cc8SPeter Wemm * 2. Redistributions in binary form must reproduce the above copyright 123b7e1cc8SPeter Wemm * notice, this list of conditions and the following disclaimer in the 133b7e1cc8SPeter Wemm * documentation and/or other materials provided with the distribution. 143b7e1cc8SPeter Wemm * 3. This work was done expressly for inclusion into FreeBSD. Other use 153b7e1cc8SPeter Wemm * is permitted provided this notation is included. 163b7e1cc8SPeter Wemm * 4. Absolutely no warranty of function or purpose is made by the author 173b7e1cc8SPeter Wemm * Peter Wemm. 183b7e1cc8SPeter Wemm * 5. Modifications may be freely made to this file providing the above 193b7e1cc8SPeter Wemm * conditions are met. 203b7e1cc8SPeter Wemm * 217f3dea24SPeter Wemm * $FreeBSD$ 223b7e1cc8SPeter Wemm */ 233b7e1cc8SPeter Wemm 243b7e1cc8SPeter Wemm #ifndef _LIBUTIL_H_ 253b7e1cc8SPeter Wemm #define _LIBUTIL_H_ 263b7e1cc8SPeter Wemm 273b7e1cc8SPeter Wemm #include <sys/cdefs.h> 283b7e1cc8SPeter Wemm 29b704025fSJordan K. Hubbard /* for properties.c */ 30b704025fSJordan K. Hubbard typedef struct _property { 31b704025fSJordan K. Hubbard struct _property *next; 32b704025fSJordan K. Hubbard char *name; 33b704025fSJordan K. Hubbard char *value; 34b704025fSJordan K. Hubbard } *properties; 35b704025fSJordan K. Hubbard 363b7e1cc8SPeter Wemm /* Avoid pulling in all the include files for no need */ 373b7e1cc8SPeter Wemm struct termios; 383b7e1cc8SPeter Wemm struct winsize; 393b7e1cc8SPeter Wemm struct utmp; 40595f220eSBrian Somers struct in_addr; 413b7e1cc8SPeter Wemm 423b7e1cc8SPeter Wemm __BEGIN_DECLS 438495e302SBruce Evans void setproctitle __P((const char *_fmt, ...)) __printf0like(1, 2); 44d3e0a250SPeter Wemm void login __P((struct utmp *_ut)); 45d3e0a250SPeter Wemm int login_tty __P((int _fd)); 46d3e0a250SPeter Wemm int logout __P((char *_line)); 47326df44eSPaul Traina void logwtmp __P((const char *_line, const char *_name, const char *_host)); 4889caae29SAtsushi Murai void trimdomain __P((char *_fullhost, int _hostsize)); 49d3e0a250SPeter Wemm int openpty __P((int *_amaster, int *_aslave, char *_name, 50d3e0a250SPeter Wemm struct termios *_termp, struct winsize *_winp)); 51d3e0a250SPeter Wemm int forkpty __P((int *_amaster, char *_name, 52d3e0a250SPeter Wemm struct termios *_termp, struct winsize *_winp)); 53d3e0a250SPeter Wemm const char *uu_lockerr __P((int _uu_lockresult)); 54d3e0a250SPeter Wemm int uu_lock __P((const char *_ttyname)); 55d3e0a250SPeter Wemm int uu_unlock __P((const char *_ttyname)); 5615af1c9bSAndrey A. Chernov int uu_lock_txfr __P((const char *_ttyname, pid_t _pid)); 57d3e0a250SPeter Wemm int _secure_path __P((const char *_path, uid_t _uid, gid_t _gid)); 5850dfa596SJordan K. Hubbard properties properties_read __P((int fd)); 59b704025fSJordan K. Hubbard void properties_free __P((properties list)); 60b704025fSJordan K. Hubbard char *property_find __P((properties list, const char *name)); 61b704025fSJordan K. Hubbard char *auth_getval __P((const char *name)); 62595f220eSBrian Somers int realhostname __P((char *host, size_t hsize, const struct in_addr *ip)); 632705d66bSPeter Wemm #ifdef _STDIO_H_ /* avoid adding new includes */ 642705d66bSPeter Wemm char *fparseln __P((FILE *, size_t *, size_t *, const char[3], int)); 652705d66bSPeter Wemm #endif 663b7e1cc8SPeter Wemm __END_DECLS 673b7e1cc8SPeter Wemm 68687d0cdeSBrian Somers #define UU_LOCK_INUSE (1) 69687d0cdeSBrian Somers #define UU_LOCK_OK (0) 70687d0cdeSBrian Somers #define UU_LOCK_OPEN_ERR (-1) 71687d0cdeSBrian Somers #define UU_LOCK_READ_ERR (-2) 7284dc2299SAndrey A. Chernov #define UU_LOCK_CREAT_ERR (-3) 73687d0cdeSBrian Somers #define UU_LOCK_WRITE_ERR (-4) 7484dc2299SAndrey A. Chernov #define UU_LOCK_LINK_ERR (-5) 7584dc2299SAndrey A. Chernov #define UU_LOCK_TRY_ERR (-6) 7646cf264aSBrian Somers #define UU_LOCK_OWNER_ERR (-7) 77687d0cdeSBrian Somers 78595f220eSBrian Somers /* return values from realhostname() */ 79595f220eSBrian Somers #define HOSTNAME_FOUND (0) 80595f220eSBrian Somers #define HOSTNAME_INCORRECTNAME (1) 81595f220eSBrian Somers #define HOSTNAME_INVALIDADDR (2) 82595f220eSBrian Somers #define HOSTNAME_INVALIDNAME (3) 83595f220eSBrian Somers 842705d66bSPeter Wemm /* fparseln(3) */ 852705d66bSPeter Wemm #define FPARSELN_UNESCESC 0x01 862705d66bSPeter Wemm #define FPARSELN_UNESCCONT 0x02 872705d66bSPeter Wemm #define FPARSELN_UNESCCOMM 0x04 882705d66bSPeter Wemm #define FPARSELN_UNESCREST 0x08 892705d66bSPeter Wemm #define FPARSELN_UNESCALL 0x0f 902705d66bSPeter Wemm 913b7e1cc8SPeter Wemm #endif /* !_LIBUTIL_H_ */ 92