2023-10-21 20:27:23 +03:00
|
|
|
|
/**
|
|
|
|
|
* lock.h
|
|
|
|
|
* Заголовок с функциями блокировок
|
|
|
|
|
*
|
|
|
|
|
* Данный заголовочный файл содержит определения которые используются для работы
|
|
|
|
|
* с блокировками ресурсов
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
#ifndef LOCK_H
|
|
|
|
|
#define LOCK_H
|
|
|
|
|
|
2023-10-07 18:28:48 +03:00
|
|
|
|
#include <stdint.h>
|
|
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
|
int lock;
|
|
|
|
|
const char* file;
|
|
|
|
|
} lock_t;
|
|
|
|
|
|
2023-10-21 21:23:51 +03:00
|
|
|
|
#define LOCK_INIT \
|
|
|
|
|
(lock_t) { \
|
|
|
|
|
0, __FILE__ \
|
2023-10-21 18:59:06 +03:00
|
|
|
|
}
|
2023-10-07 18:28:48 +03:00
|
|
|
|
|
2023-10-21 20:27:23 +03:00
|
|
|
|
int lock_swap(lock_t* lock);
|
|
|
|
|
void lock_acquire(lock_t* lock);
|
|
|
|
|
void lock_release(lock_t* lock);
|
|
|
|
|
|
|
|
|
|
#endif // lock.h
|