-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathutils.h
More file actions
76 lines (64 loc) · 1.78 KB
/
utils.h
File metadata and controls
76 lines (64 loc) · 1.78 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/*
* Copyright (C) “Hostcomm” LLC
* Copyright (C) Evgeniy Buevich
* Contact email: singularity@nic.ru
*/
#ifndef _UTILS_H
#define _UTILS_H
#ifdef FILE_LOG
#include <stdio.h>
void setupLog(void);
void closeLog(void);
void addLog(char *message);
void formattedLog(char *format,...);
#define LOG_RECORD(A) addLog(A)
#define FORMATTED_LOG(...) formattedLog(__VA_ARGS__)
#ifdef LOG_LOCKS
#define FORMATTED_LOG_LOCKS(...) formattedLog(__VA_ARGS__)
#else
#define FORMATTED_LOG_LOCKS(...)
#endif
#ifdef LOG_MEMORY
#define FORMATTED_LOG_MEMORY(...) formattedLog(__VA_ARGS__)
#else
#define FORMATTED_LOG_MEMORY(...)
#endif
#ifdef LOG_OPERATION
#define FORMATTED_LOG_OPERATION(...) formattedLog(__VA_ARGS__)
#else
#define FORMATTED_LOG_OPERATION(...)
#endif
#ifdef LOG_HEADER
#define FORMATTED_LOG_HEADER(...) formattedLog(__VA_ARGS__)
#else
#define FORMATTED_LOG_HEADER(...)
#endif
#define INIT_LOG setupLog()
#define CLOSE_LOG closeLog()
#else
#define LOG_RECORD(A)
#define FORMATTED_LOG(...)
#define FORMATTED_LOG_MEMORY(...)
#define FORMATTED_LOG_LOCKS(...)
#define FORMATTED_LOG_OPERATION(...)
#define FORMATTED_LOG_HEADER(...)
#define INIT_LOG
#define CLOSE_LOG
#endif
#include <stdlib.h>
#ifdef MEMORY_CHECK
void failureCheck(int res,const char *msg,const char *fname,int lnum,const char *funcname);
#define FAILURE_CHECK(A,B) failureCheck(A,B,__FILE__,__LINE__,__func__)
#else
#define FAILURE_CHECK(A,B)
#endif
static inline size_t align_up(size_t size,size_t align)
{
return (size / align + ((size % align) ? 1 : 0)) * align;
}
size_t file_read(int fd,void *buf, size_t size);
size_t file_write(int fd,void *buf, size_t size);
int file_lock(int fd,int operation);
off_t file_size(char *filename);
int file_link(const char *oldname, const char *newname);
#endif