All pastes #595470 Raw Edit

Anonymous

public text v1 · immutable
#595470 ·published 2007-06-29 15:10 UTC
rendered paste body
cerberus:/dan/e17/libs/ewl/src/lib> pahole -V ewl_widget.o
struct Ewl_Config_Cache {
        int                        level;                /*     0     4 */
        unsigned char              enable:1;             /*     4     1 */
        unsigned char              segv:1;               /*     4     1 */
        unsigned char              backtrace:1;          /*     4     1 */
        unsigned char              evas_render:1;        /*     4     1 */
        unsigned char              gc_reap:1;            /*     4     1 */
        unsigned char              print_signals:1;      /*     4     1 */
        unsigned char              print_keys:1;         /*     4     1 */

        /* size: 8, cachelines: 1 */
        /* padding: 3 */
        /* bit_padding: 1 bits */
        /* last cacheline: 8 bytes */
};      /* definitions: 1 */

struct _IO_marker {
        struct _IO_marker *        _next;                /*     0     4 */
        struct _IO_FILE *          _sbuf;                /*     4     4 */
        int                        _pos;                 /*     8     4 */

        /* size: 12, cachelines: 1 */
        /* last cacheline: 12 bytes */
};      /* definitions: 1 */

struct _IO_FILE {
        int                        _flags;               /*     0     4 */
        char *                     _IO_read_ptr;         /*     4     4 */
        char *                     _IO_read_end;         /*     8     4 */
        char *                     _IO_read_base;        /*    12     4 */
        char *                     _IO_write_base;       /*    16     4 */
        char *                     _IO_write_ptr;        /*    20     4 */
        char *                     _IO_write_end;        /*    24     4 */
        char *                     _IO_buf_base;         /*    28     4 */
        char *                     _IO_buf_end;          /*    32     4 */
        char *                     _IO_save_base;        /*    36     4 */
        char *                     _IO_backup_base;      /*    40     4 */
        char *                     _IO_save_end;         /*    44     4 */
        struct _IO_marker *        _markers;             /*    48     4 */
        struct _IO_FILE *          _chain;               /*    52     4 */
        int                        _fileno;              /*    56     4 */
        int                        _flags2;              /*    60     4 */
        /* --- cacheline 1 boundary (64 bytes) --- */
        __off_t                    _old_offset;          /*    64     4 */
        short unsigned int         _cur_column;          /*    68     2 */
        signed char                _vtable_offset;       /*    70     1 */
        char                       _shortbuf[1];         /*    71     1 */
        _IO_lock_t *               _lock;                /*    72     4 */
        __off64_t                  _offset;              /*    76     8 */
        void *                     __pad1;               /*    84     4 */
        void *                     __pad2;               /*    88     4 */
        void *                     __pad3;               /*    92     4 */
        void *                     __pad4;               /*    96     4 */
        size_t                     __pad5;               /*   100     4 */
        int                        _mode;                /*   104     4 */
        char                       _unused2[40];         /*   108    40 */
        /* --- cacheline 2 boundary (128 bytes) was 20 bytes ago --- */

        /* size: 148, cachelines: 3 */
        /* last cacheline: 20 bytes */
};      /* definitions: 1 */

struct Ewl_Embed {
        Ewl_Overlay                overlay;              /*     0   372 */
        /* --- cacheline 5 boundary (320 bytes) was 52 bytes ago --- */
        const char  *              engine_name;          /*   372     4 */
        void *                     engine;               /*   376     4 */
        void *                     canvas;               /*   380     4 */
        /* --- cacheline 6 boundary (384 bytes) --- */
        void *                     canvas_window;        /*   384     4 */
        int                        cursor;               /*   388     4 */
        void *                     smart;                /*   392     4 */
        void *                     ev_clip;              /*   396     4 */
        Ecore_DList *              tab_order;            /*   400     4 */
        Ecore_Hash *               obj_cache;            /*   404     4 */
        struct {
                Ewl_Widget *       clicked;              /*   408     4 */
                Ewl_Widget *       focused;              /*   412     4 */
                Ewl_Widget *       mouse_in;             /*   416     4 */
                Ewl_Widget *       drop_widget;          /*   420     4 */
                Ewl_Widget *       drag_widget;          /*   424     4 */
        } last;                                          /*   408    20 */
        int                        x;                    /*   428     4 */
        int                        y;                    /*   432     4 */
        int                        dnd_count;            /*   436     4 */
        int                        focus;                /*   440     4 */
        Ewl_Dnd_Types              dnd_types;            /*   444     8 */
        /* --- cacheline 7 boundary (448 bytes) was 4 bytes ago --- */
        Ewl_Widget *               dnd_last_position;    /*   452     4 */

        /* size: 456, cachelines: 8 */
        /* last cacheline: 8 bytes */
};      /* definitions: 1 */

struct Ewl_Overlay {
        Ewl_Container              container;            /*     0   372 */
        /* --- cacheline 5 boundary (320 bytes) was 52 bytes ago --- */

        /* size: 372, cachelines: 6 */
        /* last cacheline: 52 bytes */
};      /* definitions: 1 */

struct Ewl_Dnd_Types {
        int                        num_types;            /*     0     4 */
        char * *                   types;                /*     4     4 */

        /* size: 8, cachelines: 1 */
        /* last cacheline: 8 bytes */
};      /* definitions: 1 */

struct Ewl_Event_Mouse_Up {
        Ewl_Event_Mouse            base;                 /*     0    12 */
        int                        button;               /*    12     4 */

        /* size: 16, cachelines: 1 */
        /* last cacheline: 16 bytes */
};      /* definitions: 1 */

struct Ewl_Event_Mouse_Down {
        Ewl_Event_Mouse            base;                 /*     0    12 */
        int                        button;               /*    12     4 */
        int                        clicks;               /*    16     4 */

        /* size: 20, cachelines: 1 */
        /* last cacheline: 20 bytes */
};      /* definitions: 1 */

struct Ewl_Event_Mouse {
        unsigned int               modifiers;            /*     0     4 */
        int                        x;                    /*     4     4 */
        int                        y;                    /*     8     4 */

        /* size: 12, cachelines: 1 */
        /* last cacheline: 12 bytes */
};      /* definitions: 1 */

struct Ewl_Container {
        Ewl_Widget                 widget;               /*     0   336 */
        /* --- cacheline 5 boundary (320 bytes) was 16 bytes ago --- */
        Ecore_DList *              children;             /*   336     4 */
        void *                     clip_box;             /*   340     4 */
        Ewl_Container *            redirect;             /*   344     4 */
        Ewl_Child_Add              child_add;            /*   348     4 */
        Ewl_Child_Remove           child_remove;         /*   352     4 */
        Ewl_Child_Resize           child_resize;         /*   356     4 */
        Ewl_Child_Show             child_show;           /*   360     4 */
        Ewl_Child_Hide             child_hide;           /*   364     4 */
        Ewl_Container_Iterator     iterator;             /*   368     4 */

        /* size: 372, cachelines: 6 */
        /* last cacheline: 52 bytes */
};      /* definitions: 1 */

struct Ewl_Widget {
        Ewl_Object                 object;               /*     0    76 */
        /* --- cacheline 1 boundary (64 bytes) was 12 bytes ago --- */
        Ewl_Widget *               parent;               /*    76     4 */
        Ewl_Callback_Chain         callbacks[25];        /*    80   200 */
        /* --- cacheline 4 boundary (256 bytes) was 24 bytes ago --- */
        Ewl_Attach_List *          attach;               /*   280     4 */
        void *                     smart_object;         /*   284     4 */
        void *                     fx_clip_box;          /*   288     4 */
        void *                     theme_object;         /*   292     4 */
        const char  *              theme_path;           /*   296     4 */
        const char  *              theme_group;          /*   300     4 */
        const char  *              theme_state;          /*   304     4 */
        const char  *              appearance;           /*   308     4 */
        const char  *              inheritance;          /*   312     4 */
        int                        layer;                /*   316     4 */
        /* --- cacheline 5 boundary (320 bytes) --- */
        int                        toplayered;           /*   320     4 */
        Ecore_Hash *               theme;                /*   324     4 */
        Ewl_Pair_List              theme_text;           /*   328     8 */

        /* size: 336, cachelines: 6 */
        /* last cacheline: 16 bytes */
};      /* definitions: 1 */

struct Ewl_Color_Set {
        int                        r;                    /*     0     4 */
        int                        g;                    /*     4     4 */
        int                        b;                    /*     8     4 */
        int                        a;                    /*    12     4 */

        /* size: 16, cachelines: 1 */
        /* last cacheline: 16 bytes */
};      /* definitions: 1 */

struct Ewl_Callback_Chain {
        void * *                   list;                 /*     0     4 */
        unsigned char              mask;                 /*     4     1 */
        unsigned char              len;                  /*     5     1 */
        unsigned char              index;                /*     6     1 */

        /* size: 8, cachelines: 1 */
        /* padding: 1 */
        /* last cacheline: 8 bytes */
};      /* definitions: 1 */

struct Ewl_Pair_List {
        Ewl_Pair * *               list;                 /*     0     4 */
        unsigned int               direct:1;             /*     4     4 */
        unsigned int               len:31;               /*     4     4 */

        /* size: 8, cachelines: 1 */
        /* last cacheline: 8 bytes */
};      /* definitions: 1 */

struct Ewl_Pair {
        const char  *              key;                  /*     0     4 */
        char *                     value;                /*     4     4 */

        /* size: 8, cachelines: 1 */
        /* last cacheline: 8 bytes */
};      /* definitions: 1 */

struct Ewl_Attach_List {
        void * *                   list;                 /*     0     4 */
        unsigned int               direct:1;             /*     4     4 */
        unsigned int               len:31;               /*     4     4 */

        /* size: 8, cachelines: 1 */
        /* last cacheline: 8 bytes */
};      /* definitions: 1 */

struct Ewl_Object {
        struct {
                int                x;                    /*     0     4 */
                int                y;                    /*     4     4 */
                int                w;                    /*     8     4 */
                int                h;                    /*    12     4 */
        } current;                                       /*     0    16 */
        struct {
                int                w;                    /*    16     4 */
                int                h;                    /*    20     4 */
        } preferred;                                     /*    16     8 */
        struct {
                int                w;                    /*    24     4 */
                int                h;                    /*    28     4 */
        } maximum;                                       /*    24     8 */
        struct {
                int                w;                    /*    32     4 */
                int                h;                    /*    36     4 */
        } minimum;                                       /*    32     8 */
        struct {
                int                l;                    /*    40     4 */
                int                r;                    /*    44     4 */
                int                t;                    /*    48     4 */
                int                b;                    /*    52     4 */
        } pad;                                           /*    40    16 */
        struct {
                int                l;                    /*    56     4 */
                int                r;                    /*    60     4 */
                int                t;                    /*    64     4 */
                int                b;                    /*    68     4 */
        } insets;                                        /*    56    16 */
        /* --- cacheline 1 boundary (64 bytes) was 8 bytes ago --- */
        unsigned int               flags;                /*    72     4 */

        /* size: 76, cachelines: 2 */
        /* last cacheline: 12 bytes */
};      /* definitions: 1 */

struct _ecore_hash {
        Ecore_Hash_Node * *        buckets;              /*     0     4 */
        int                        size;                 /*     4     4 */
        int                        nodes;                /*     8     4 */
        int                        index;                /*    12     4 */
        Ecore_Compare_Cb           compare;              /*    16     4 */
        Ecore_Hash_Cb              hash_func;            /*    20     4 */
        Ecore_Free_Cb              free_key;             /*    24     4 */
        Ecore_Free_Cb              free_value;           /*    28     4 */

        /* size: 32, cachelines: 1 */
        /* last cacheline: 32 bytes */
};      /* definitions: 1 */

struct _ecore_hash_node {
        Ecore_Hash_Node *          next;                 /*     0     4 */
        void *                     key;                  /*     4     4 */
        void *                     value;                /*     8     4 */

        /* size: 12, cachelines: 1 */
        /* last cacheline: 12 bytes */
};      /* definitions: 1 */

struct _ecore_list_node {
        void *                     data;                 /*     0     4 */
        struct _ecore_list_node *  next;                 /*     4     4 */

        /* size: 8, cachelines: 1 */
        /* last cacheline: 8 bytes */
};      /* definitions: 1 */

struct _ecore_list {
        Ecore_List_Node *          first;                /*     0     4 */
        Ecore_List_Node *          last;                 /*     4     4 */
        Ecore_List_Node *          current;              /*     8     4 */
        Ecore_Free_Cb              free_func;            /*    12     4 */
        int                        nodes;                /*    16     4 */
        int                        index;                /*    20     4 */

        /* size: 24, cachelines: 1 */
        /* last cacheline: 24 bytes */
};      /* definitions: 1 */

cerberus:/dan/e17/libs/ewl/src/lib>