xref: /freebsd/lib/libutil/libutil.h (revision 0640d357f29fb1c0daaaffadd0416c5981413afd)
1 /*
2  * Copyright (c) 1995 Peter Wemm <peter@freebsd.org>
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, is permitted provided that the following conditions
7  * are met:
8  * 1. Redistributions of source code must retain the above copyright
9  *    notice immediately at the beginning of the file, without modification,
10  *    this list of conditions, and the following disclaimer.
11  * 2. Redistributions in binary form must reproduce the above copyright
12  *    notice, this list of conditions and the following disclaimer in the
13  *    documentation and/or other materials provided with the distribution.
14  * 3. This work was done expressly for inclusion into FreeBSD.  Other use
15  *    is permitted provided this notation is included.
16  * 4. Absolutely no warranty of function or purpose is made by the author
17  *    Peter Wemm.
18  * 5. Modifications may be freely made to this file providing the above
19  *    conditions are met.
20  *
21  * $Id: libutil.h,v 1.19 1998/10/09 07:28:14 jkh Exp $
22  */
23 
24 #ifndef _LIBUTIL_H_
25 #define	_LIBUTIL_H_
26 
27 #include <sys/cdefs.h>
28 
29 /* for properties.c */
30 typedef struct _property {
31 	struct _property *next;
32 	char *name;
33 	char *value;
34 } *properties;
35 
36 /* Avoid pulling in all the include files for no need */
37 struct termios;
38 struct winsize;
39 struct utmp;
40 
41 __BEGIN_DECLS
42 void	setproctitle __P((const char *_fmt, ...));
43 void	login __P((struct utmp *_ut));
44 int	login_tty __P((int _fd));
45 int	logout __P((char *_line));
46 void	logwtmp __P((const char *_line, const char *_name, const char *_host));
47 void	trimdomain __P((char *_fullhost, int _hostsize));
48 int	openpty __P((int *_amaster, int *_aslave, char *_name,
49 		     struct termios *_termp, struct winsize *_winp));
50 int	forkpty __P((int *_amaster, char *_name,
51 		     struct termios *_termp, struct winsize *_winp));
52 const char *uu_lockerr __P((int _uu_lockresult));
53 int	uu_lock __P((const char *_ttyname));
54 int	uu_unlock __P((const char *_ttyname));
55 int	uu_lock_txfr __P((const char *_ttyname, pid_t _pid));
56 int	_secure_path __P((const char *_path, uid_t _uid, gid_t _gid));
57 properties properties_read __P((int fd));
58 void	properties_free __P((properties list));
59 char	*property_find __P((properties list, const char *name));
60 char	*auth_getval __P((const char *name));
61 __END_DECLS
62 
63 #define UU_LOCK_INUSE (1)
64 #define UU_LOCK_OK (0)
65 #define UU_LOCK_OPEN_ERR (-1)
66 #define UU_LOCK_READ_ERR (-2)
67 #define UU_LOCK_CREAT_ERR (-3)
68 #define UU_LOCK_WRITE_ERR (-4)
69 #define UU_LOCK_LINK_ERR (-5)
70 #define UU_LOCK_TRY_ERR (-6)
71 #define UU_LOCK_OWNER_ERR (-7)
72 
73 #endif /* !_LIBUTIL_H_ */
74