rnusers.x revision 303975
197403Sobrien/*- 297403Sobrien * Copyright (c) 2010, Oracle America, Inc. 3169691Skan * 4169691Skan * Redistribution and use in source and binary forms, with or without 597403Sobrien * modification, are permitted provided that the following conditions are 697403Sobrien * met: 7132720Skan * 897403Sobrien * * Redistributions of source code must retain the above copyright 9132720Skan * notice, this list of conditions and the following disclaimer. 1097403Sobrien * * Redistributions in binary form must reproduce the above 1197403Sobrien * copyright notice, this list of conditions and the following 1297403Sobrien * disclaimer in the documentation and/or other materials 1397403Sobrien * provided with the distribution. 14132720Skan * * Neither the name of the "Oracle America, Inc." nor the names of its 1597403Sobrien * contributors may be used to endorse or promote products derived 1697403Sobrien * from this software without specific prior written permission. 1797403Sobrien * 1897403Sobrien * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 1997403Sobrien * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20132720Skan * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 21169691Skan * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 22169691Skan * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 2397403Sobrien * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 2497403Sobrien * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 2597403Sobrien * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 2697403Sobrien * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 2797403Sobrien * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 2897403Sobrien * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 2997403Sobrien * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 3097403Sobrien */ 3197403Sobrien 3297403Sobrien/* 3397403Sobrien * Find out about remote users 34169691Skan */ 35169691Skan 3697403Sobrien#ifndef RPC_HDR 3797403Sobrien%#ifndef lint 3897403Sobrien%/*static char sccsid[] = "from: @(#)rnusers.x 1.2 87/09/20 Copyr 1987 Sun Micro";*/ 3997403Sobrien%/*static char sccsid[] = "from: @(#)rnusers.x 2.1 88/08/01 4.0 RPCSRC";*/ 4097403Sobrien%#endif /* not lint */ 41132720Skan%#include <sys/cdefs.h> 42132720Skan%__FBSDID("$FreeBSD: releng/11.0/include/rpcsvc/rnusers.x 259117 2013-12-09 04:26:50Z hrs $"); 4397403Sobrien#endif 4497403Sobrien 4597403Sobrienconst MAXUSERS = 100; 4697403Sobrienconst MAXUTLEN = 256; 47169691Skan 48169691Skanstruct utmp { 4997403Sobrien string ut_line<MAXUTLEN>; 5097403Sobrien string ut_name<MAXUTLEN>; 5197403Sobrien string ut_host<MAXUTLEN>; 5297403Sobrien int ut_time; 53117397Skan}; 54117397Skan 55117397Skan 56117397Skanstruct utmpidle { 5797403Sobrien utmp ui_utmp; 5897403Sobrien unsigned int ui_idle; 5997403Sobrien}; 6097403Sobrien 6197403Sobrientypedef utmp utmparr<MAXUSERS>; 62171827Skan 6397403Sobrientypedef utmpidle utmpidlearr<MAXUSERS>; 6497403Sobrien 6597403Sobrienconst RUSERS_MAXUSERLEN = 32; 66171827Skanconst RUSERS_MAXLINELEN = 32; 67169691Skanconst RUSERS_MAXHOSTLEN = 257; 68169691Skan 6997403Sobrienstruct rusers_utmp { 7097403Sobrien string ut_user<RUSERS_MAXUSERLEN>; /* aka ut_name */ 7197403Sobrien string ut_line<RUSERS_MAXLINELEN>; /* device */ 72171827Skan string ut_host<RUSERS_MAXHOSTLEN>; /* host user logged on from */ 7397403Sobrien int ut_type; /* type of entry */ 74171827Skan int ut_time; /* time entry was made */ 7597403Sobrien unsigned int ut_idle; /* minutes idle */ 7697403Sobrien}; 7797403Sobrien 78171827Skantypedef rusers_utmp utmp_array<>; 79171827Skan 80171827Skanprogram RUSERSPROG { 81102782Skan /* 8297403Sobrien * Old version does not include idle information 8397403Sobrien */ 8497403Sobrien version RUSERSVERS_ORIG { 8597403Sobrien int 8697403Sobrien RUSERSPROC_NUM(void) = 1; 8797403Sobrien 8897403Sobrien utmparr 8997403Sobrien RUSERSPROC_NAMES(void) = 2; 9097403Sobrien 9197403Sobrien utmparr 9297403Sobrien RUSERSPROC_ALLNAMES(void) = 3; 9397403Sobrien } = 1; 9497403Sobrien 9597403Sobrien /* 9697403Sobrien * Includes idle information 9797403Sobrien */ 9897403Sobrien version RUSERSVERS_IDLE { 9997403Sobrien int 10097403Sobrien RUSERSPROC_NUM(void) = 1; 10197403Sobrien 10297403Sobrien utmpidlearr 10397403Sobrien RUSERSPROC_NAMES(void) = 2; 10497403Sobrien 10597403Sobrien utmpidlearr 10697403Sobrien RUSERSPROC_ALLNAMES(void) = 3; 107102782Skan } = 2; 108102782Skan 109132720Skan /* 110132720Skan * Version 3 rusers procedures (from Solaris). 11197403Sobrien * (Thanks a lot Sun.) 11297403Sobrien */ 11397403Sobrien version RUSERSVERS_3 { 114169691Skan int 115169691Skan RUSERSPROC_NUM(void) = 1; 11697403Sobrien 117 utmp_array 118 RUSERSPROC_NAMES(void) = 2; 119 120 utmp_array 121 RUSERSPROC_ALLNAMES(void) = 3; 122 } = 3; 123 124} = 100002; 125 126