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_aliasentry {
+ struct afsconf_aliasentry *next;
+ struct afsconf_cellalias aliasInfo;
+};
+
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 */
};
-extern struct afsconf_dir *afsconf_Open();
-extern afs_int32 afsconf_Authenticate();
-
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)(), char *arock);
+extern int afsconf_CellAliasApply(struct afsconf_dir *adir, int (*aproc)(), char *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);
+extern afs_int32 afsconf_GetLatestKey(struct afsconf_dir *adir,
+ afs_int32 *avno, char *akey);
+extern int afsconf_GetKey(struct afsconf_dir *adir, afs_int32 avno,
+ char *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"