]> andersk Git - moira.git/blame_incremental - server/mr_server.h
missing SRCDIR; ifdef on GDSS
[moira.git] / server / mr_server.h
... / ...
CommitLineData
1/*
2 * $Source$
3 * $Author$
4 * $Header$
5 *
6 * Copyright (C) 1987 by the Massachusetts Institute of Technology
7 *
8 */
9
10#include <sys/types.h>
11#include <sys/uio.h>
12#include <sys/socket.h>
13#include <netinet/in.h>
14#include "mr_proto.h"
15#include <moira_site.h>
16#include <krb.h>
17
18typedef struct returned_tuples {
19 struct returned_tuples *next;
20 OPERATION op;
21 mr_params *retval;
22} returned_tuples;
23
24/*
25 * This should be in the kerberos header file.
26 */
27
28struct krbname {
29 char name[ANAME_SZ];
30 char inst[INST_SZ];
31 char realm[REALM_SZ];
32};
33
34/*
35 * This structure holds all per-client information; one of these is
36 * allocated for each active client.
37 */
38
39typedef struct _client {
40 OPERATION pending_op; /* Primary pending operation */
41 CONNECTION con; /* Connection to the client */
42 int action; /* what action is pending? */
43 mr_params *args, reply;
44 int id; /* Unique id of client */
45 struct sockaddr_in haddr; /* IP address of client */
46 char clname[MAX_K_NAME_SZ];/* Name client authenticated to */
47 struct krbname kname; /* Parsed version of the above */
48 int users_id; /* MR internal ID of authenticated user */
49 int client_id; /* MR internal ID of client for modby field */
50 returned_tuples *first, *last;
51 time_t last_time_used; /* Last time connection used */
52 char entity[9]; /* entity on other end of the connection */
53} client;
54
55/*
56 * States
57 */
58
59#define CL_DEAD 0
60#define CL_STARTING 1
61
62/*
63 * Actions.
64 */
65
66#define CL_ACCEPT 0
67#define CL_RECEIVE 1
68#define CL_SEND 2
69
70extern char *krb_realm;
71
72/*
73 * Debugging options.
74 */
75
76extern int log_flags;
77
78#define LOG_CONNECT 0x0001
79#define LOG_REQUESTS 0x0002
80#define LOG_ARGS 0x0004
81#define LOG_RESP 0x0008
82#define LOG_RES 0x0010
83#define LOG_VALID 0x0020
84#define LOG_SQL 0x0040
85#define LOG_GDSS 0x0080
86
87
88/* max length of query argument allowed */
89#define ARGLEN 257
90/* Used to setup static argv, maximum argc */
91#define QMAXARGS 20
92
93/* statistics on number of queries by version number */
94extern int newqueries, oldqueries;
95
96/* Maximum and minimum values that will ever be chosen for IDs */
97#define MAX_ID_VALUE 31999
98#define MIN_ID_VALUE 100
99
100/* Sleepy states for the server! */
101#define AWAKE 0
102#define SLEEPY 1
103#define ASLEEP 2
104#define GROGGY 3
105extern int dormant;
106
107/* state for the incremental update system */
108extern int inc_running, inc_pid;
109extern time_t inc_started, now;
110#define INC_TIMEOUT (3 * 60) /* 3 minutes */
This page took 0.033215 seconds and 5 git commands to generate.