/usr/include/afs/cellconfig.h is in libopenafs-dev 1.8.0~pre5-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 | /*
* cellconfig.h:
* This file is automatically generated; please do not edit it.
*/
/* Including ./cellconfig.p.h at beginning of cellconfig.h file. */
/*
* Copyright 2000, International Business Machines Corporation and others.
* All Rights Reserved.
*
* This software has been released under the terms of the IBM Public
* License. For details, see the LICENSE file in the top-level source
* directory or online at http://www.openafs.org/dl/license10.html
*/
/*
cellconfig.h:
Interface to the routines used by the FileServer to manipulate the cell/server database
for the Cellular Andrew system, along with an operation to determine the name of the
local cell. Included are a string variable used to hold the local cell name, definitions for
the database file format and routines for:
1) Acquiring the local cell name.
2) Reading in the cell/server database from disk.
3) Reporting the set of servers associated with a given cell name.
4) Printing out the contents of the cell/server database.
5) Reclaiming the space used by an in-memory database.
Creation date:
17 August 1987
--------------------------------------------------------------------------------------------------------------*/
#ifndef __CELLCONFIG_AFS_INCL_
#define __CELLCONFIG_AFS_INCL_ 1
#ifndef IPPROTO_MAX
/* get sockaddr_in */
#ifdef AFS_NT40_ENV
#include <winsock2.h>
#else
#include <sys/types.h>
#include <netinet/in.h>
#endif
#endif
#include <rx/rx_opaque.h>
#include <opr/queue.h>
#define MAXCELLCHARS 64
#define MAXHOSTCHARS 64
#define MAXHOSTSPERCELL 8
/*
* Return codes.
*/
#define AFSCONF_SUCCESS 0 /* worked */
/*
* Complete server info for one cell.
*/
struct afsconf_cell {
char name[MAXCELLCHARS]; /*Cell name */
short numServers; /*Num active servers for the cell */
short flags; /* useful flags */
struct sockaddr_in hostAddr[MAXHOSTSPERCELL]; /*IP addresses for cell's servers */
char hostName[MAXHOSTSPERCELL][MAXHOSTCHARS]; /*Names for cell's servers */
char *linkedCell; /* Linked cell name, if any */
int timeout; /* Data timeout, if non-zero */
};
#define AFSCONF_CELL_FLAG_DNS_QUERIED 1
struct afsconf_cellalias {
char aliasName[MAXCELLCHARS];
char realName[MAXCELLCHARS];
};
struct afsconf_entry {
struct afsconf_entry *next; /* next guy in afsconf_dir */
struct afsconf_cell cellInfo; /* info for this cell */
};
struct afsconf_aliasentry {
struct afsconf_aliasentry *next;
struct afsconf_cellalias aliasInfo;
};
/*!
* A set of bit flags to control the selection of a security object
*/
#define AFSCONF_SECOPTS_NOAUTH 0x1
#define AFSCONF_SECOPTS_LOCALAUTH 0x2
#define AFSCONF_SECOPTS_ALWAYSENCRYPT 0x4
#define AFSCONF_SECOPTS_FALLBACK_NULL 0x8
typedef afs_uint32 afsconf_secflags;
struct afsconf_dir {
char *name; /* pointer to dir prefix */
char *cellName; /* cell name, if any, we're in */
struct afsconf_entry *entries; /* list of cell entries */
struct opr_queue keyList; /* list of keys */
afs_int32 timeRead; /* time stamp of file last read */
afs_int32 timeCheck; /* time of last check for update */
struct afsconf_aliasentry *alias_entries; /* cell aliases */
afsconf_secflags securityFlags;
struct afsconf_realms *local_realms; /* local realms */
struct afsconf_realms *exclusions; /* excluded principals */
};
extern afs_int32 afsconf_FindService(const char *aname);
extern const char *afsconf_FindIANAName(const char *aname);
extern struct afsconf_dir *afsconf_Open(const char *adir);
extern int afsconf_CellApply(struct afsconf_dir *adir,
int (*aproc) (struct afsconf_cell * cell,
void *arock,
struct afsconf_dir * dir),
void *arock);
extern int afsconf_CellAliasApply(struct afsconf_dir *adir,
int (*aproc) (struct afsconf_cellalias *
alias, void *arock,
struct afsconf_dir * dir),
void *arock);
extern int afsconf_GetExtendedCellInfo(struct afsconf_dir *adir,
char *acellName, char *aservice,
struct afsconf_cell *acellInfo,
char clones[]);
extern int afsconf_GetAfsdbInfo(char *acellName, char *aservice,
struct afsconf_cell *acellInfo);
extern int afsconf_GetCellInfo(struct afsconf_dir *adir, char *acellName,
char *aservice,
struct afsconf_cell *acellInfo);
extern int afsconf_GetLocalCell(struct afsconf_dir *adir,
char *aname, afs_int32 alen);
extern int afsconf_Close(struct afsconf_dir *adir);
extern int afsconf_UpToDate(void *rock);
struct afsconf_keys;
extern int afsconf_GetKeys(struct afsconf_dir *adir,
struct afsconf_keys *astr);
struct ktc_encryptionKey;
extern afs_int32 afsconf_GetLatestKey(struct afsconf_dir *adir,
afs_int32 * avno,
struct ktc_encryptionKey *akey);
extern int afsconf_GetKey(void *rock, int avno,
struct ktc_encryptionKey *akey);
extern int afsconf_AddKey(struct afsconf_dir *adir, afs_int32 akvno,
char akey[8], afs_int32 overwrite);
extern int afsconf_DeleteKey(struct afsconf_dir *adir, afs_int32 akvno);
struct afsconf_typedKey;
struct afsconf_typedKeyList {
int nkeys;
struct afsconf_typedKey **keys;
};
typedef enum {
afsconf_rxkad = 0,
afsconf_rxgk =1,
afsconf_rxkad_krb5 =2
} afsconf_keyType;
extern struct afsconf_typedKey *
afsconf_typedKey_get(struct afsconf_typedKey *);
extern void afsconf_typedKey_put(struct afsconf_typedKey **);
extern struct afsconf_typedKey *
afsconf_typedKey_new(afsconf_keyType type, int kvno,
int subType, struct rx_opaque *key);
extern void afsconf_typedKey_free(struct afsconf_typedKey **);
extern void afsconf_typedKey_values(struct afsconf_typedKey *key,
afsconf_keyType *type,
int *kvno,
int *minorType,
struct rx_opaque **keyMaterial);
extern int afsconf_GetAllKeys(struct afsconf_dir *,
struct afsconf_typedKeyList **);
extern int afsconf_GetKeysByType(struct afsconf_dir *dir,
afsconf_keyType type, int kvno,
struct afsconf_typedKeyList **);
extern int afsconf_GetKeyByTypes(struct afsconf_dir *dir,
afsconf_keyType type, int kvno, int subType,
struct afsconf_typedKey **);
extern int afsconf_GetLatestKeysByType(struct afsconf_dir *dir,
afsconf_keyType type,
struct afsconf_typedKeyList **);
extern int afsconf_GetLatestKeyByTypes(struct afsconf_dir *dir,
afsconf_keyType type, int subType,
struct afsconf_typedKey **);
extern void afsconf_PutTypedKeyList(struct afsconf_typedKeyList **keys);
extern int afsconf_AddTypedKey(struct afsconf_dir *dir,
struct afsconf_typedKey *key,
int overwrite);
extern int afsconf_DeleteKeyByType(struct afsconf_dir *dir,
afsconf_keyType type, int kvno);
extern int afsconf_DeleteKeyBySubType(struct afsconf_dir *dir,
afsconf_keyType type, int kvno,
int subType);
/* authcon.c */
struct rx_securityClass;
extern afs_int32 afsconf_ServerAuth(void *arock,
struct rx_securityClass **,
afs_int32 *);
extern afs_int32 afsconf_ClientAuth(void *arock,
struct rx_securityClass **astr,
afs_int32 * aindex);
extern afs_int32 afsconf_ClientAuthSecure(void *arock,
struct rx_securityClass **astr,
afs_int32 * aindex);
extern afs_int32 afsconf_ClientAuthToken(struct afsconf_cell *info,
afsconf_secflags flags,
struct rx_securityClass **sc,
afs_int32 *scIndex,
time_t *expires);
extern afs_int32 afsconf_PickClientSecObj(struct afsconf_dir *dir,
afsconf_secflags flags,
struct afsconf_cell *info,
char *cellName,
struct rx_securityClass **sc,
afs_int32 *scIndex,
time_t *expires);
extern void afsconf_SetSecurityFlags(struct afsconf_dir *dir,
afsconf_secflags flags);
extern void afsconf_BuildServerSecurityObjects(void *,
struct rx_securityClass ***,
afs_int32 *);
/* writeconfig.c */
int afsconf_SetExtendedCellInfo(struct afsconf_dir *adir, const char *apath,
struct afsconf_cell *acellInfo, char clones[]);
int afsconf_SetCellInfo(struct afsconf_dir *adir, const char *apath,
struct afsconf_cell *acellInfo);
/* userok.c */
struct rx_call;
struct rx_identity;
extern int afsconf_CheckAuth(void *arock, struct rx_call *acall);
extern int afsconf_GetNoAuthFlag(struct afsconf_dir *adir);
extern void afsconf_SetNoAuthFlag(struct afsconf_dir *adir, int aflag);
extern int afsconf_DeleteUser(struct afsconf_dir *adir, char *auser);
extern int afsconf_DeleteIdentity(struct afsconf_dir *, struct rx_identity *);
extern int afsconf_GetNthUser(struct afsconf_dir *adir, afs_int32 an,
char *abuffer, afs_int32 abufferLen);
extern int afsconf_GetNthIdentity(struct afsconf_dir *, int,
struct rx_identity **);
extern int afsconf_AddUser(struct afsconf_dir *adir, char *aname);
extern int afsconf_AddIdentity(struct afsconf_dir *adir, struct rx_identity *);
extern int afsconf_SuperUser(struct afsconf_dir *adir, struct rx_call *acall,
char *namep);
extern int afsconf_SuperIdentity(struct afsconf_dir *, struct rx_call *,
struct rx_identity **);
extern int afsconf_IsSuperIdentity(struct afsconf_dir *, struct rx_identity *);
extern int afsconf_CheckRestrictedQuery(struct afsconf_dir *adir,
struct rx_call *acall,
int needed_level);
/*
* Level constants for the -restricted_query option used by vlserver
* and volser. Once we have vlserver and volserver to ptserver
* connection, we can add more access levels, like AUTHUSER or
* AUTHANDFOREIGNUSER.
*/
#define RESTRICTED_QUERY_ANYUSER 0
#define RESTRICTED_QUERY_ADMIN 1
/* realms.c */
extern int afsconf_SetLocalRealm(const char *realm);
extern int afsconf_IsLocalRealmMatch(struct afsconf_dir *dir, afs_int32 * local,
const char *name, const char *instance,
const char *cell);
/* netrestrict.c */
extern int afsconf_ParseNetRestrictFile(afs_uint32 outAddrs[],
afs_uint32 * mask, afs_uint32 * mtu,
afs_uint32 maxAddrs, afs_uint32 * nAddrs,
char reason[], const char *fileName);
extern int afsconf_ParseNetFiles(afs_uint32 addrbuf[], afs_uint32 maskbuf[],
afs_uint32 mtubuf[], afs_uint32 max,
char reason[], const char *niFileName,
const char *nrFileName);
/* some well-known ports and their names; new additions to table in cellconfig.c, too */
#define AFSCONF_FILESERVICE "afs"
#define AFSCONF_FILEPORT 7000
#define AFSCONF_CALLBACKSERVICE "afscb"
#define AFSCONF_CALLBACKPORT 7001
#define AFSCONF_PROTSERVICE "afsprot"
#define AFSCONF_PROTPORT 7002
#define AFSCONF_VLDBSERVICE "afsvldb"
#define AFSCONF_VLDBPORT 7003
#define AFSCONF_KAUTHSERVICE "afskauth"
#define AFSCONF_KAUTHPORT 7004
#define AFSCONF_VOLUMESERVICE "afsvol"
#define AFSCONF_VOLUMEPORT 7005
#define AFSCONF_ERRORSERVICE "afserror"
#define AFSCONF_ERRORPORT 7006
#define AFSCONF_NANNYSERVICE "afsnanny"
#define AFSCONF_NANNYPORT 7007
#define AFSCONF_UPDATESERVICE "afsupdate"
#define AFSCONF_UPDATEPORT 7008
#define AFSCONF_RMTSYSSERVICE "afsrmtsys"
#define AFSCONF_RMTSYSPORT 7009
#define AFSCONF_RSDBSERVICE "afsres"
#define AFSCONF_RESPORT 7010
#define AFSCONF_REMIODBSERVICE "afsremio"
#define AFSCONF_REMIOPORT 7011
#endif /* __CELLCONFIG_AFS_INCL_ */
/* End of prolog file ./cellconfig.p.h. */
#define AFSCONF_FAILURE (70354688L)
#define AFSCONF_NOTFOUND (70354689L)
#define AFSCONF_UNKNOWN (70354690L)
#define AFSCONF_NOCELL (70354691L)
#define AFSCONF_SYNTAX (70354692L)
#define AFSCONF_NODB (70354693L)
#define AFSCONF_FULL (70354694L)
#define AFSCONF_NOCELLDB (70354695L)
#define AFSCONF_NO_SECURITY_CLASS (70354696L)
#define AFSCONF_BADKEY (70354697L)
#define AFSCONF_NOCELLNAME (70354698L)
extern void initialize_ACFG_error_table(void);
#define ERROR_TABLE_BASE_ACFG (70354688L)
/* for compatibility with older versions... */
#define init_ACFG_err_tbl initialize_ACFG_error_table
#define ACFG_err_base ERROR_TABLE_BASE_ACFG
/* for compatibility with other users... */
#define ERROR_TABLE_BASE_acfg (70354688L)
#define init_acfg_err_tbl initialize_ACFG_error_table
#define initialize_acfg_error_table initialize_ACFG_error_table
#define acfg_err_base ERROR_TABLE_BASE_acfg
|