#define PATH_MAX 4096
#endif
+#define PUI_MAGIC_NONE 0xfedc4321
+#define PUI_MAGIC_PUI_M 0xDE9BBFAE
+#define PUI_MAGIC_PUI_H 0xDE89C0AD
+#define PUI_MAGIC_ANI_H 0xDE77C1AC
+#define PUI_MAGIC_ANI_T 0xDE65C2AB
+
+typedef unsigned int PUI_Magic;
+#define PUI_MAGIC PUI_Magic __magic
+
+#define PUI_MAGIC_SET(p, m) (p)->__magic = (m)
+#define PUI_MAGIC_CHECK(p, m) ((p) && ((p)->__magic == (m)))
+#define PUI_MAGIC_FAIL(p, m, fn) _pui_magic_fail((p), (p) ? (p)->__magic : 0, (m), (fn));
+
struct _pui_ani
{
+ PUI_MAGIC;
+
pui_h pui_handle;
pui_ani_t *ani;
struct _pui_ani_t
{
- pui_ani_h ani_h;
+ PUI_MAGIC;
+ pui_ani_h ani_h;
pui_id id;
pui_ani_cmd cmd;
int repeat;
struct _pui
{
+ PUI_MAGIC;
+
Ecore_Wl2_Window *win;
Ecore_Wl2_Display *ewd;
int visibility;
struct _pui_module_data
{
+ PUI_MAGIC;
+
void *module_info;
pui_backend_module *backend_module_info;
pui_backend_module_data *backend_module_data;
extern "C" {
#endif
+void
+_pui_magic_fail(const void *p, PUI_Magic m, PUI_Magic req_m, const char *fname);
+
pui_ani_control_buffer *
pui_ani_get_buffer(pui_ani_h ani_h);