extern afs_rwlock_t afs_xcell;
extern afs_int32 afs_cellindex;
extern afs_uint32 afs_nextCellNum;
-extern int afs_strcasecmp(register char *s1, register char *s2);
extern afs_int32 afs_NewCell(char *acellName, register afs_int32 *acellHosts, int aflags,
char *linkedcname, u_short fsport, u_short vlport, int timeout, char *aliasFor);
extern struct cell *afs_GetCell(register afs_int32 acell, afs_int32 locktype);
extern struct afs_exporter *afs_nfsexporter;
/* afs_osi.c */
+extern afs_lock_t afs_ftf;
extern void afs_osi_Invisible(void);
extern void afs_osi_RxkRegister(void);
extern void afs_osi_MaskSignals(void);
extern void afs_osi_UnmaskRxkSignals(void);
extern void *afs_osi_Alloc(size_t x);
extern void *afs_osi_Alloc_NoSleep(size_t x);
+extern void afs_osi_Free(void *x, size_t asize);
+extern void afs_osi_FreeStr(char *x);
extern void osi_Init(void);
extern int osi_Active(register struct vcache *avc);
extern void osi_FlushPages(register struct vcache *avc, struct AFS_UCRED *credp);
extern void afs_get_groups_from_pag(afs_uint32 pag, gid_t *g0p, gid_t *g1p);
extern afs_int32 PagInCred(const struct AFS_UCRED *cred);
-/* afs_osi.c */
-extern afs_lock_t afs_ftf;
-extern void afs_osi_Free(void *x, size_t asize);
-
/* afs_osi_alloc.c */
extern afs_int32 afs_preallocs;
extern afs_lock_t osi_fsplock;
/* afs_util.c */
extern char *afs_cv2string(char *ttp, afs_uint32 aval);
+extern int afs_strcasecmp(register char *s1, register char *s2);
+extern char *afs_strdup(char *s);
extern void print_internet_address(char *preamble, struct srvAddr *sa,
char *postamble, int flag);
extern afs_int32 afs_data_pointer_to_int32(const void *p);
} /*afs_cv2string*/
+int afs_strcasecmp(char *s1, char *s2)
+{
+ while (*s1 && *s2) {
+ char c1, c2;
+
+ c1 = *s1++;
+ c2 = *s2++;
+ if (c1 >= 'A' && c1 <= 'Z') c1 += 0x20;
+ if (c2 >= 'A' && c2 <= 'Z') c2 += 0x20;
+ if (c1 != c2)
+ return c1-c2;
+ }
+
+ return *s1 - *s2;
+}
+
+char *afs_strdup(char *s)
+{
+ char *n;
+ int cc;
+
+ cc = strlen(s) + 1;
+ n = (char *) afs_osi_Alloc(cc);
+ if (n)
+ memcpy(n, s, cc);
+
+ return n;
+}
+
void print_internet_address(char *preamble, struct srvAddr *sa,
char *postamble, int flag)
{