/* * Created by yuuta on 7/19/22. */ #ifndef LIBAC_IDS_H #define LIBAC_IDS_H #include "incl.h" #define AC_TYPE_EVENT 0 /* 0b00000000 */ #define AC_TYPE_REQUEST 64 /* 0b01000000 */ #define AC_TYPE_RESPONSE 128 /* 0b10000000 */ #define AC_ID(type, num) type + num #define AC_IS_EVENT(type) (type & 192) == AC_TYPE_EVENT #define AC_IS_REQUEST(type) (type & 192) == AC_TYPE_REQUEST #define AC_IS_RESPONSE(type) (type & 192) == AC_TYPE_RESPONSE #include typedef struct ac_obj { uint8_t type; } ac_obj_t; /** * Free the object. * @param obj Object to free. Must be a valid object. * @return AC_E_OK or an error code. When succeeds, obj is freed and no longer valid. */ LIBAC_EXPORT int ac_object_free(ac_obj_t *obj); #endif /* LIBAC_IDS_H */