X-Git-Url: http://git.openafs.org/?p=openafs.git;a=blobdiff_plain;f=src%2Fauth%2Fcellconfig.p.h;h=0f9b09cba0c10996c7cf745f8557c4d5503f4344;hp=3632973b15ee113c8ee5c548822a0cb6294c19fc;hb=85f1ef34c2533da2f47757bb8d8a3aecb9083283;hpb=714058f3875b569523add7aca7e904198c9390ab diff --git a/src/auth/cellconfig.p.h b/src/auth/cellconfig.p.h index 3632973..0f9b09c 100644 --- a/src/auth/cellconfig.p.h +++ b/src/auth/cellconfig.p.h @@ -60,35 +60,86 @@ Creation date: * 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 */ + 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 */ +}; + +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_cell cellInfo; /* info for this cell */ }; -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 afsconf_keys *keystr; /* structure containing keys */ - afs_int32 timeRead; /* time stamp of file last read */ +struct afsconf_aliasentry { + struct afsconf_aliasentry *next; + struct afsconf_cellalias aliasInfo; }; -extern struct afsconf_dir *afsconf_Open(); -extern afs_int32 afsconf_Authenticate(); +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 afsconf_keys *keystr; /* structure containing keys */ + afs_int32 timeRead; /* time stamp of file last read */ + struct afsconf_aliasentry *alias_entries; /* cell aliases */ +}; struct afsconf_servPair { char *name; int port; }; +extern struct afsconf_dir *afsconf_Open(register 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(register struct afsconf_dir *adir, + char *aname, afs_int32 alen); +extern int afsconf_Close(struct afsconf_dir *adir); +extern int afsconf_IntGetKeys(struct afsconf_dir *adir); +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 rx_securityClass; +extern afs_int32 afsconf_ClientAuth(struct afsconf_dir *adir, + struct rx_securityClass **astr, + afs_int32 * aindex); + + /* some well-known ports and their names; new additions to table in cellconfig.c, too */ #define AFSCONF_FILESERVICE "afs" @@ -114,6 +165,6 @@ struct afsconf_servPair { #define AFSCONF_RSDBSERVICE "afsres" #define AFSCONF_RESPORT 7010 #define AFSCONF_REMIODBSERVICE "afsremio" -#define AFSCONF_REMIOPORT 7011 +#define AFSCONF_REMIOPORT 7011 #endif /* __CELLCONFIG_AFS_INCL_ */