xref: /titanic_52/usr/src/head/protocols/rwhod.h (revision 7c478bd95313f5f23a4c958a745db2134aa03244)
1 /*
2  * CDDL HEADER START
3  *
4  * The contents of this file are subject to the terms of the
5  * Common Development and Distribution License, Version 1.0 only
6  * (the "License").  You may not use this file except in compliance
7  * with the License.
8  *
9  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10  * or http://www.opensolaris.org/os/licensing.
11  * See the License for the specific language governing permissions
12  * and limitations under the License.
13  *
14  * When distributing Covered Code, include this CDDL HEADER in each
15  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16  * If applicable, add the following below this CDDL HEADER, with the
17  * fields enclosed by brackets "[]" replaced with your own identifying
18  * information: Portions Copyright [yyyy] [name of copyright owner]
19  *
20  * CDDL HEADER END
21  */
22 /*
23  * Copyright 1989 Sun Microsystems, Inc.  All rights reserved.
24  * Use is subject to license terms.
25  */
26 
27 /*	Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1989 AT&T	*/
28 /*	  All Rights Reserved  	*/
29 
30 /*
31  * Portions of this source code were derived from Berkeley 4.3 BSD
32  * under license from the Regents of the University of California.
33  */
34 
35 /*
36  * rwho protocol packet format.
37  */
38 
39 #ifndef _PROTOCOLS_RWHOD_H
40 #define	_PROTOCOLS_RWHOD_H
41 
42 #pragma ident	"%Z%%M%	%I%	%E% SMI"
43 
44 #ifdef	__cplusplus
45 extern "C" {
46 #endif
47 
48 struct	outmp {
49 	char	out_line[8];		/* tty name */
50 	char	out_name[8];		/* user id */
51 	long	out_time;		/* time on */
52 };
53 
54 struct	whod {
55 	char	wd_vers;		/* protocol version # */
56 	char	wd_type;		/* packet type, see below */
57 	char	wd_pad[2];
58 	int	wd_sendtime;		/* time stamp by sender */
59 	int	wd_recvtime;		/* time stamp applied by receiver */
60 	char	wd_hostname[32];	/* hosts's name */
61 	int	wd_loadav[3];		/* load average as in uptime */
62 	int	wd_boottime;		/* time system booted */
63 	struct	whoent {
64 		struct	outmp we_utmp;	/* active tty info */
65 		int	we_idle;	/* tty idle time */
66 	} wd_we[1024 / sizeof (struct whoent)];
67 };
68 
69 #define	WHODVERSION	1
70 #define	WHODTYPE_STATUS	1		/* host status */
71 
72 #ifdef	__cplusplus
73 }
74 #endif
75 
76 #endif	/* _PROTOCOLS_RWHOD_H */
77