XenevaOS
Loading...
Searching...
No Matches
spinlock.h
Go to the documentation of this file.
1
30#ifndef __SPINLOCK_H__
31#define __SPINLOCK_H__
32
33#include <stdint.h>
34#include <aurora.h>
35
36#pragma pack(push,1)
37typedef struct _spinlock_ {
38 size_t value;
40#pragma pack(pop)
41
42/*
43* AuCreateSpinlock -- creates a new spinlock and return
44* @param early -- specifies if it's early lock
45*/
47
48/*
49* AuDeleteSpinlock -- deletes only non-early spinlocks
50*/
52
53
54/*
55* AuAcquireSpinlock -- acuires a lock
56* @param lock -- pointer to spinlock
57*/
59
60/*
61* AuReleaseSpinlock -- releases a spinlock
62* @param lock -- pointer to spinlock
63*/
65
66#endif
#define AU_EXTERN
Definition aurora.h:50
#define AU_EXPORT
Definition aurora.h:38
struct _spinlock_ Spinlock
AU_EXTERN AU_EXPORT Spinlock * AuCreateSpinlock(bool early)
Definition spinlock.cpp:44
AU_EXTERN AU_EXPORT void AuDeleteSpinlock(Spinlock *lock)
Definition spinlock.cpp:62
AU_EXTERN AU_EXPORT void AuReleaseSpinlock(Spinlock *lock)
Definition spinlock.cpp:89
AU_EXTERN AU_EXPORT void AuAcquireSpinlock(Spinlock *lock)
Definition spinlock.cpp:70
Definition spinlock.h:37
size_t value
Definition spinlock.h:38