57 lines
1.3 KiB
C
57 lines
1.3 KiB
C
|
/*
|
||
|
* Mr. 4th Dimention - Allen Webster
|
||
|
*
|
||
|
* 20.07.2016
|
||
|
*
|
||
|
* File tracking API.
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
// TOP
|
||
|
|
||
|
#if !defined(FILE_TRACK_4TECH_H)
|
||
|
#define FILE_TRACK_4TECH_H
|
||
|
|
||
|
#if !defined(FILE_TRACK_LINK)
|
||
|
# define FILE_TRACK_LINK static
|
||
|
#endif
|
||
|
|
||
|
typedef struct{
|
||
|
u8 opaque[128];
|
||
|
} File_Track_System;
|
||
|
|
||
|
typedef i32 File_Track_Result;
|
||
|
enum{
|
||
|
FileTrack_Good,
|
||
|
FileTrack_MemoryTooSmall,
|
||
|
FileTrack_OutOfTableMemory,
|
||
|
FileTrack_OutOfListenerMemory,
|
||
|
FileTrack_NoMoreEvents,
|
||
|
FileTrack_FileSystemError
|
||
|
};
|
||
|
|
||
|
FILE_TRACK_LINK File_Track_Result
|
||
|
init_track_system(File_Track_System *system, void *table_memory, i32 table_memory_size, void *listener_memory, i32 listener_memory_size);
|
||
|
|
||
|
FILE_TRACK_LINK File_Track_Result
|
||
|
add_listener(File_Track_System *system, char *filename);
|
||
|
|
||
|
FILE_TRACK_LINK File_Track_Result
|
||
|
remove_listener(File_Track_System *system, char *filename);
|
||
|
|
||
|
FILE_TRACK_LINK File_Track_Result
|
||
|
move_track_system(File_Track_System *system, void *mem, i32 size);
|
||
|
|
||
|
FILE_TRACK_LINK File_Track_Result
|
||
|
expand_track_system_listeners(File_Track_System *system, void *mem, i32 size);
|
||
|
|
||
|
FILE_TRACK_LINK File_Track_Result
|
||
|
get_change_event(File_Track_System *system, u8 *buffer, i32 max);
|
||
|
|
||
|
FILE_TRACK_LINK File_Track_Result
|
||
|
shut_down_track_system(File_Track_System *system);
|
||
|
|
||
|
#endif
|
||
|
|
||
|
// BOTTOM
|