]> arthur.barton.de Git - netatalk.git/blobdiff - etc/afpd/fce_api_internal.h
Remove atalk/boolean.h, use stdbool.h instead
[netatalk.git] / etc / afpd / fce_api_internal.h
old mode 100755 (executable)
new mode 100644 (file)
index bf6cea3..9ed185e
@@ -1,69 +1,53 @@
-/* \r
- * File:   fce_api_internal.h\r
- * Author: mw\r
- *\r
- * Created on 1. Oktober 2010, 23:48\r
- */\r
-\r
-#ifndef _FCE_API_INTERNAL_H\r
-#define        _FCE_API_INTERNAL_H\r
-\r
-/* fce_packet.mode */\r
-#define FCE_FILE_MODIFY     1\r
-#define FCE_FILE_DELETE     2\r
-#define FCE_DIR_DELETE      3\r
-#define FCE_FILE_CREATE     4\r
-#define FCE_DIR_CREATE      5\r
-#define FCE_CONN_START     42\r
-#define FCE_CONN_BROKEN    99\r
-\r
-/* fce_packet.fce_magic */\r
-#define FCE_PACKET_MAGIC  "at_fcapi"\r
-\r
-#define FCE_MAX_PATH_LEN 1024\r
-#define FCE_MAX_UDP_SOCKS 5     /* Allow a maximum of udp listeners for file change events */\r
-#define FCE_MAX_IP_LEN 255      /* Man len of listener name */\r
-#define FCE_SOCKET_RETRY_DELAY_S 600 /* Pause this time in s after socket was broken */\r
-#define FCE_PACKET_VERSION  1\r
-#define FCE_HISTORY_LEN 10  /* This is used to coalesce events */\r
-#define MAX_COALESCE_TIME_MS 1000  /* Events oldeer than this are not coalesced */\r
-\r
-struct udp_entry\r
-{\r
-    int sock;\r
-    char ip[FCE_MAX_IP_LEN];\r
-    int port;\r
-    struct sockaddr_in addr;\r
-    time_t next_try_on_error;      /* In case of error set next timestamp to retry */\r
-};\r
-\r
-/* This packet goes over the network, so we want to\r
- *  be shure about datastructs and type sizes between platforms\r
- */\r
-struct fce_packet\r
-{\r
-    char magic[8];\r
-    unsigned char version;\r
-    unsigned char mode;\r
-    uint16_t len;  /* network byte order */\r
-    uint32_t event_id; /* network byte order */\r
-    char data[FCE_MAX_PATH_LEN];\r
-};\r
-\r
-struct fce_history\r
-{\r
-    unsigned char mode;\r
-       int is_dir;\r
-       char path[FCE_MAX_PATH_LEN + 1];\r
-       struct timeval tv;\r
-};\r
-\r
-\r
-#define PACKET_HDR_LEN (sizeof(struct fce_packet) - FCE_MAX_PATH_LEN)\r
-\r
-int fce_handle_coalescation( char *path, int is_dir, int mode );\r
-void fce_initialize_history();\r
-\r
-\r
-#endif /* _FCE_API_INTERNAL_H */\r
-\r
+/* 
+ * File:   fce_api_internal.h
+ * Author: mw
+ *
+ * Created on 1. Oktober 2010, 23:48
+ */
+
+#ifndef _FCE_API_INTERNAL_H
+#define        _FCE_API_INTERNAL_H
+
+#include <stdbool.h>
+
+#define FCE_MAX_UDP_SOCKS 5     /* Allow a maximum of udp listeners for file change events */
+#define FCE_SOCKET_RETRY_DELAY_S 600 /* Pause this time in s after socket was broken */
+#define FCE_PACKET_VERSION  1
+#define FCE_HISTORY_LEN 10  /* This is used to coalesce events */
+#define MAX_COALESCE_TIME_MS 1000  /* Events oldeer than this are not coalesced */
+
+#define FCE_COALESCE_CREATE (1 << 0)
+#define FCE_COALESCE_DELETE (1 << 1)
+#define FCE_COALESCE_ALL    (FCE_COALESCE_CREATE | FCE_COALESCE_DELETE)
+
+struct udp_entry
+{
+    int sock;
+    char *addr;
+    char *port;
+    struct addrinfo addrinfo;
+    struct sockaddr_storage sockaddr;
+    time_t next_try_on_error;      /* In case of error set next timestamp to retry */
+};
+
+struct fce_history
+{
+    unsigned char mode;
+       int is_dir;
+       char path[MAXPATHLEN + 1];
+       struct timeval tv;
+};
+
+struct fce_close_event {
+    time_t time;
+       char path[MAXPATHLEN + 1];
+};
+
+#define PACKET_HDR_LEN (sizeof(struct fce_packet) - FCE_MAX_PATH_LEN)
+
+bool fce_handle_coalescation( char *path, int is_dir, int mode );
+void fce_initialize_history();
+
+
+#endif /* _FCE_API_INTERNAL_H */
+