]> git.evergreen-ils.org Git - working/Evergreen.git/blob - OpenSRF/src/utils/utils.h
broke out a lot of the code from generic_utils into their
[working/Evergreen.git] / OpenSRF / src / utils / utils.h
1 #ifndef UTILS_H
2 #define UTILS_H
3
4 #include <stdarg.h>
5 #include <fcntl.h>
6 #include <unistd.h>
7 #include <sys/time.h>
8 #include <sys/stat.h>
9 #include <fcntl.h>
10
11 #define BUFFER_MAX_SIZE 10485760 
12
13 void* safe_malloc(int size);
14
15 // ---------------------------------------------------------------------------------
16 // Generic growing buffer. Add data all you want
17 // ---------------------------------------------------------------------------------
18 struct growing_buffer_struct {
19         char *buf;
20         int n_used;
21         int size;
22 };
23 typedef struct growing_buffer_struct growing_buffer;
24
25 growing_buffer* buffer_init( int initial_num_bytes);
26 int buffer_addchar(growing_buffer* gb, char c);
27 int buffer_add(growing_buffer* gb, char* c);
28 int buffer_fadd(growing_buffer* gb, const char* format, ... );
29 int buffer_reset( growing_buffer* gb);
30 char* buffer_data( growing_buffer* gb);
31 int buffer_free( growing_buffer* gb );
32 int buffer_add_char(growing_buffer* gb, char c);
33
34
35 char* uescape( const char* string, int size, int full_escape );
36 double get_timestamp_millis();
37
38 /* utility methods */
39 int set_fl( int fd, int flags );
40 int clr_fl( int fd, int flags );
41
42
43
44 // Utility method
45 double get_timestamp_millis();
46
47
48
49
50 #endif