44 lines
1.1 KiB
C
44 lines
1.1 KiB
C
/**************************************************************************
|
|
* *
|
|
* Copyright (C) 1989-1994 Silicon Graphics, Inc. *
|
|
* *
|
|
* These coded instructions, statements, and computer programs contain *
|
|
* unpublished proprietary information of Silicon Graphics, Inc., and *
|
|
* are protected by Federal copyright law. They may not be disclosed *
|
|
* to third parties or copied or duplicated in any form, in whole or *
|
|
* in part, without the prior written consent of Silicon Graphics, Inc. *
|
|
* *
|
|
**************************************************************************/
|
|
#ifndef _ABI_MUTEX_
|
|
#define _ABI_MUTEX_
|
|
|
|
#ident "$Revision: 1.6 $"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define UNLOCKED 0
|
|
#define LOCKED 1
|
|
|
|
typedef struct abilock {
|
|
#if (_MIPS_SZLONG == 32)
|
|
unsigned long abi_lock;
|
|
#endif
|
|
#if (_MIPS_SZLONG == 64)
|
|
unsigned int abi_lock;
|
|
#endif
|
|
} abilock_t;
|
|
|
|
/* ABI mutex functions */
|
|
extern int init_lock(abilock_t *);
|
|
extern int acquire_lock(abilock_t *);
|
|
extern int release_lock(abilock_t *);
|
|
extern int stat_lock(abilock_t *);
|
|
extern void spin_lock(abilock_t *);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif
|