X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=include%2Fatalk%2Ffce_api.h;h=d11a2d4927a4752da0593fb3e54c2acc976cf57e;hb=3a84db87064922ad10ac10cc1d6833380e575995;hp=969b9d5f4deaff2abe1f2bf46e7c37f4df2e8a57;hpb=0387b4665bef6a5cb6851581e42cad0ecca3e90c;p=netatalk.git diff --git a/include/atalk/fce_api.h b/include/atalk/fce_api.h index 969b9d5f..d11a2d49 100755 --- a/include/atalk/fce_api.h +++ b/include/atalk/fce_api.h @@ -10,46 +10,50 @@ #ifndef _FCE_API_H #define _FCE_API_H +#include + /* fce_packet.mode */ #define FCE_FILE_MODIFY 1 #define FCE_FILE_DELETE 2 #define FCE_DIR_DELETE 3 #define FCE_FILE_CREATE 4 #define FCE_DIR_CREATE 5 -#define FCE_TM_SIZE 6 #define FCE_CONN_START 42 #define FCE_CONN_BROKEN 99 +#define FCE_FIRST_EVENT FCE_FILE_MODIFY /* keep in sync with last file event above */ +#define FCE_LAST_EVENT FCE_DIR_CREATE /* keep in sync with last file event above */ /* fce_packet.fce_magic */ #define FCE_PACKET_MAGIC "at_fcapi" /* This packet goes over the network, so we want to - * be shure about datastructs and type sizes between platforms + * be shure about datastructs and type sizes between platforms. + * Format is network byte order. */ +#define FCE_PACKET_HEADER_SIZE 8+1+1+4+2 + struct fce_packet { char magic[8]; unsigned char version; unsigned char mode; - uint16_t len; /* network byte order */ - uint32_t event_id; /* network byte order */ + uint32_t event_id; + uint16_t datalen; char data[MAXPATHLEN]; }; +typedef uint32_t fce_ev_t; +typedef enum { fce_file, fce_dir } fce_obj_t; + struct path; struct ofork; -int fce_register_delete_file( struct path *path ); -int fce_register_delete_dir( char *name ); -int fce_register_new_dir( struct path *path ); -int fce_register_new_file( struct path *path ); -int fce_register_file_modification( struct ofork *ofork ); -int fce_register_tm_size(const char *vol, size_t used); - +void fce_pending_events(AFPObj *obj); +int fce_register(fce_ev_t event, const char *path, const char *oldpath, fce_obj_t type); int fce_add_udp_socket(const char *target ); // IP or IP:Port -int fce_set_coalesce( char *coalesce_opt ); // all|delete|create -int fce_set_events(const char *events); /* fmod,fdel,ddel,fcre,dcre,tmsz (default is all) */ +int fce_set_coalesce(const char *coalesce_opt ); // all|delete|create +int fce_set_events(const char *events); /* fmod,fdel,ddel,fcre,dcre */ #define FCE_DEFAULT_PORT 12250 #define FCE_DEFAULT_PORT_STRING "12250"