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 * 21595f220eSBrian Somers * $Id: libutil.h,v 1.21 1998/12/16 17:52:15 bde Exp $ 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)); 633b7e1cc8SPeter Wemm __END_DECLS 643b7e1cc8SPeter Wemm 65687d0cdeSBrian Somers #define UU_LOCK_INUSE (1) 66687d0cdeSBrian Somers #define UU_LOCK_OK (0) 67687d0cdeSBrian Somers #define UU_LOCK_OPEN_ERR (-1) 68687d0cdeSBrian Somers #define UU_LOCK_READ_ERR (-2) 6984dc2299SAndrey A. Chernov #define UU_LOCK_CREAT_ERR (-3) 70687d0cdeSBrian Somers #define UU_LOCK_WRITE_ERR (-4) 7184dc2299SAndrey A. Chernov #define UU_LOCK_LINK_ERR (-5) 7284dc2299SAndrey A. Chernov #define UU_LOCK_TRY_ERR (-6) 7346cf264aSBrian Somers #define UU_LOCK_OWNER_ERR (-7) 74687d0cdeSBrian Somers 75595f220eSBrian Somers /* return values from realhostname() */ 76595f220eSBrian Somers #define HOSTNAME_FOUND (0) 77595f220eSBrian Somers #define HOSTNAME_INCORRECTNAME (1) 78595f220eSBrian Somers #define HOSTNAME_INVALIDADDR (2) 79595f220eSBrian Somers #define HOSTNAME_INVALIDNAME (3) 80595f220eSBrian Somers 813b7e1cc8SPeter Wemm #endif /* !_LIBUTIL_H_ */ 82