• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/router/netatalk-3.0.5/etc/afpd/
1/*
2 * File:   fce_api_internal.h
3 * Author: mw
4 *
5 * Created on 1. Oktober 2010, 23:48
6 */
7
8#ifndef _FCE_API_INTERNAL_H
9#define	_FCE_API_INTERNAL_H
10
11#include <stdbool.h>
12
13#include <atalk/fce_api.h>
14
15#define FCE_MAX_UDP_SOCKS 5     /* Allow a maximum of udp listeners for file change events */
16#define FCE_SOCKET_RETRY_DELAY_S 600 /* Pause this time in s after socket was broken */
17#define FCE_PACKET_VERSION  1
18#define FCE_HISTORY_LEN 10  /* This is used to coalesce events */
19#define MAX_COALESCE_TIME_MS 1000  /* Events oldeer than this are not coalesced */
20
21#define FCE_COALESCE_CREATE (1 << 0)
22#define FCE_COALESCE_DELETE (1 << 1)
23#define FCE_COALESCE_ALL    (FCE_COALESCE_CREATE | FCE_COALESCE_DELETE)
24
25struct udp_entry {
26    int sock;
27    char *addr;
28    char *port;
29    struct addrinfo addrinfo;
30    struct sockaddr_storage sockaddr;
31    time_t next_try_on_error;      /* In case of error set next timestamp to retry */
32};
33
34struct fce_history {
35    fce_ev_t       fce_h_event;
36	fce_obj_t      fce_h_type;
37	char           fce_h_path[MAXPATHLEN + 1];
38	struct timeval fce_h_tv;
39};
40
41struct fce_close_event {
42    time_t time;
43	char path[MAXPATHLEN + 1];
44};
45
46#define PACKET_HDR_LEN (sizeof(struct fce_packet) - FCE_MAX_PATH_LEN)
47
48bool fce_handle_coalescation(int event, const char *path, fce_obj_t type);
49void fce_initialize_history();
50
51
52#endif	/* _FCE_API_INTERNAL_H */
53
54