/**************************************************************************** * This file is part of the project Gwenhywfar. * AqHome (c) by 2024 Martin Preuss, all rights reserved. * * The license for this file can be found in the file COPYING which you * should have received along with this file. ****************************************************************************/ #ifndef AQH_PATH_H #define AQH_PATH_H #include #include #define AQH_PATH_FLAGS_PATHMUSTEXIST 0x00000001 #define AQH_PATH_FLAGS_PATHMUSTNOTEXIST 0x00000002 #define AQH_PATH_FLAGS_PATHCREATE 0x00000004 #define AQH_PATH_FLAGS_NAMEMUSTEXIST 0x00000008 #define AQH_PATH_FLAGS_NAMEMUSTNOTEXIST 0x00000010 #define AQH_PATH_FLAGS_CREATE_GROUP 0x00000020 #define AQH_PATH_FLAGS_CREATE_VAR 0x00000040 #define AQH_PATH_FLAGS_VARIABLE 0x00000080 #define AQH_PATH_FLAGS_PARSEIDX 0x00000100 #define AQH_PATH_FLAGS_ROOT 0x10000000 #define AQH_PATH_FLAGS_LAST 0x20000000 typedef void *(*AQH_PATHHANDLERFN)(const char *entry, void *data, int idx, uint32_t flags); AQHOME_API void *AQH_Path_Handle(const char *path, void *data, uint32_t flags, AQH_PATHHANDLERFN fn); #endif