|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T u
Length: 2653 (0xa5d) Types: TextFile Names: »untamo.h«
└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki └─⟦this⟧ »EUUGD11/euug-87hel/sec8/untamo/untamo.h«
#include <sys/types.h> #include <stdio.h> #include <setjmp.h> #define UTMP "/etc/utmp" /* name of utmp file */ #define TERMFILE "/etc/termfile" /* name of termfile */ #ifdef DEBUG #define CONFIG "/userf/doc/untamo/untamo.cf" #define LOGFILE "/userf/doc/untamo/untamo.log" #else DEBUG #define CONFIG "/usr/local/lib/untamo.cf" #define LOGFILE "/usr/adm/untamo.log" #endif DEBUG #define DEV "/dev/\0" #define MAXUSERS 100 /* max people expected */ #define NAMELEN 8 /* length of login name */ #define IS_IDLE 01 #define IS_MULT 02 #define IS_LIMIT 04 struct user { #ifdef PUCC int rld; /* rld number last logged in to */ char clust[7]; /* cluster */ #endif PUCC int idle; /* max idle limit for this user */ int ugroup; /* gid obtained from getgrent call */ int session; /* session limit for this user */ int warned; /* if he has been warned before */ int exempt; /* what is this guy exempt from? */ time_t next; /* next time to examine this structure */ time_t time_on; /* loggin time (express terminals?) */ char uid[NAMELEN]; /* who is this is? */ char line[14]; /* his tty in the form "/dev/ttyxx"*/ char site[10]; /* where */ }; /* next will be cur_time+limit-idle do all we have to do is check the current time against the action field when the daemon comes around. if >= then it's time to check the idle time again, else just skip him. */ extern struct user users[]; extern struct user *pusers[]; /* * records that the nodes of the linked list * will have pointers too */ struct item { int name_t; /* is it a login, group, etc... */ char *name; /* which login, etc */ int num; /* which rld (special case, rld is a #)*/ /* or group -doc*/ int flag; /* what is the timeout/exemption ? */ }; /* * necessary structures to use the system * linked list stuff. q_item will be a pointer * to stuct items. */ struct qelem { struct qelem *q_forw; struct qelem *q_back; struct item *q_item; }; extern jmp_buf env_buf; /* where to jump on timeouts */ extern FILE *logfd; /* log file file descriptor */ #ifdef PUCC extern char *findcluster(); #endif PUCC /* These items are gleaned from the configuration file... */ extern struct qelem *rules, /* list of idle timeout rules */ *exmpt, /* list of exemptions */ *session; /* list of session limit rules */ extern int sleeptime; /* how long to sleep between scans of utmp */ extern int m_threshold; /* number of users for multiple login warnings */ extern int s_threshold; /* number of users (sds-ports) fork session limits */ extern int warn_flags; /* what warnings to make */