2 * File: fce_api_internal.h
\r
5 * Created on 1. Oktober 2010, 23:48
\r
8 #ifndef _FCE_API_INTERNAL_H
\r
9 #define _FCE_API_INTERNAL_H
\r
11 #define FCE_FILE_MODIFY 1
\r
12 #define FCE_FILE_DELETE 2
\r
13 #define FCE_DIR_DELETE 3
\r
14 #define FCE_FILE_CREATE 4
\r
15 #define FCE_DIR_CREATE 5
\r
16 #define FCE_CONN_START 42
\r
17 #define FCE_CONN_BROKEN 99
\r
20 #define FCE_MAX_PATH_LEN 1024
\r
22 #define FCE_MAX_UDP_SOCKS 5 /* Allow a maximum of udp listeners for file change events */
\r
23 #define FCE_MAX_IP_LEN 255 /* Man len of listener name */
\r
24 #define FCE_SOCKET_RETRY_DELAY_S 600 /* Pause this time in s after socket was broken */
\r
25 #define FCE_PACKET_VERSION 1
\r
28 #define FCE_PACKET_MAGIC "at_fcapi" /* Must fit to size of fce_packet.fce_magic */
\r
30 #define FCE_HISTORY_LEN 10 /* This is used to coalesce events */
\r
31 #define MAX_COALESCE_TIME_MS 1000 /* Events oldeer than this are not coalesced */
\r
36 char ip[FCE_MAX_IP_LEN];
\r
38 struct sockaddr_in addr;
\r
39 time_t next_try_on_error; /* In case of error set next timestamp to retry */
\r
42 /* This packet goes over the network, so we want to
\r
43 * be shure about datastructs and type sizes between platforms
\r
48 unsigned char version;
\r
50 uint16_t len; /* network byte order */
\r
51 uint32_t event_id; /* network byte order */
\r
52 char data[FCE_MAX_PATH_LEN];
\r
59 char path[FCE_MAX_PATH_LEN + 1];
\r
64 #define PACKET_HDR_LEN (sizeof(struct fce_packet) - FCE_MAX_PATH_LEN)
\r
66 int fce_handle_coalescation( char *path, int is_dir, int mode );
\r
67 void fce_initialize_history();
\r
70 #endif /* _FCE_API_INTERNAL_H */
\r