shadow/lib/port.h

84 lines
2.9 KiB
C
Raw Normal View History

/*
* Copyright (c) 1989 - 1991, Julianne Frances Haugh
* Copyright (c) 1996 - 1997, Marek Michałkiewicz
* Copyright (c) 2005 , Tomasz Kłoczko
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the copyright holders or contributors may not be used to
* endorse or promote products derived from this software without
* specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/*
* port.h - structure of /etc/porttime
*
* $Id$
*
* Each entry in /etc/porttime consists of a TTY device
* name or "*" to indicate all TTY devices, followed by
* a list of 1 or more user IDs or "*" to indicate all
* user names, followed by a list of zero or more valid
* login times. Login time entries consist of zero or
* more day names (Su, Mo, Tu, We, Th, Fr, Sa, Wk, Al)
* followed by a pair of time values in HHMM format
* separated by a "-".
*/
/*
* PORTS - Name of system port access time file.
* PORT_IDS - Allowable number of IDs per entry.
* PORT_TTY - Allowable number of TTYs per entry.
* PORT_TIMES - Allowable number of time entries per entry.
* PORT_DAY - Day of the week to a bit value (0 = Sunday).
*/
#define PORTS "/etc/porttime"
#define PORT_IDS 64
#define PORT_TTY 64
#define PORT_TIMES 24
#define PORT_DAY(day) (1<<(day))
/*
* pt_names - pointer to array of device names in /dev/
* pt_users - pointer to array of applicable user IDs.
* pt_times - pointer to list of allowable time periods.
*/
struct port {
char **pt_names;
char **pt_users;
struct pt_time *pt_times;
};
/*
* t_days - bit array for each day of the week (0 = Sunday)
* t_start - starting time for this entry
* t_end - ending time for this entry
*/
struct pt_time {
short t_days;
short t_start;
short t_end;
};