/*
* 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
#ifndef _OSI_MACHDEP_H_
#define _OSI_MACHDEP_H_
-#ifdef AFS_SUN57_64BIT_ENV
+#ifdef AFS_SUN5_64BIT_ENV
#include <sys/model.h> /* for get_udatamodel() */
#endif
*/
#define NFSSRV "/kernel/misc/nfssrv"
#define NFSSRV_V9 "/kernel/misc/sparcv9/nfssrv"
+#define NFSSRV_AMD64 "/kernel/misc/amd64/nfssrv"
typedef struct cred afs_ucred_t;
typedef struct proc afs_proc_t;
-/*
+/*
* Time related macros
*/
#define afs_hz hz
#define osi_Time() (hrestime.tv_sec)
#endif
-#undef afs_osi_Alloc_NoSleep
-extern void *afs_osi_Alloc_NoSleep(size_t size);
-
-#define osi_vnhold(avc, r) do { VN_HOLD(AFSTOV(avc)); } while(0)
#define gop_rdwr(rw,gp,base,len,offset,segflg,ioflag,ulimit,cr,aresid) \
vn_rdwr((rw),(gp),(base),(len),(offset),(segflg),(ioflag),(ulimit),(cr),(aresid))
#define gop_lookupname(fnamep,segflg,followlink,compvpp) \
#define afs_suser(x) suser(x)
#endif
-#ifdef KERNEL
/*
- * Global lock support.
+ * Global lock support.
*/
#include <sys/mutex.h>
extern kmutex_t afs_global_lock;
-#define AFS_GLOCK() mutex_enter(&afs_global_lock);
-#define AFS_GUNLOCK() mutex_exit(&afs_global_lock);
+#define AFS_GLOCK() mutex_enter(&afs_global_lock)
+#define AFS_GUNLOCK() mutex_exit(&afs_global_lock)
#define ISAFS_GLOCK() mutex_owned(&afs_global_lock)
-#endif
+#define osi_InitGlock() \
+ mutex_init(&afs_global_lock, "afs_global_lock", MUTEX_DEFAULT, NULL);
/* Associate the Berkley signal equivalent lock types to System V's */
#define IO_SYNC FSYNC
#endif
-#if defined(AFS_SUN56_ENV)
/*
-** Macro returns 1 if file is larger than 2GB; else returns 0
+** Macro returns 1 if file is larger than 2GB; else returns 0
*/
#undef AfsLargeFileUio
#define AfsLargeFileUio(uio) ( (uio)->_uio_offset._p._u ? 1 : 0 )
#undef AfsLargeFileSize
#define AfsLargeFileSize(pos, off) ( ((offset_t)(pos)+(offset_t)(off) > (offset_t)0x7fffffff)?1:0)
-#endif
#if defined(AFS_SUN510_ENV)
#include "h/sunddi.h"
int metric;
ipaddr_t dstaddr;
};
-#endif
+#endif /* AFS_SUN510_ENV */
+
+#define osi_procname(procname, size) strncpy(procname, PTOU(ttoproc(curthread))->u_comm, size)
+
+static_inline void
+osi_GetTime(osi_timeval32_t *atv)
+{
+ struct timeval32 now;
+ uniqtime32(&now);
+ atv->tv_sec = now.tv_sec;
+ atv->tv_usec = now.tv_usec;
+}
+
#endif /* _OSI_MACHDEP_H_ */