#ifndef MINATO__MLIST_H
#define MINATO__MLIST_H

typedef struct _list_it {
    void* mItem;
    
    struct _list_it* mNextIt;
} list_it;

void* list_first_item() { return mEntryNode ? mEntryNode->mItem : NULL; }
void* LastItem() { return mLastNode ? mLastNode->mItem : NULL; }

void* Pop() { void* ret = LastItem(); Remove(ret); return ret; }
void Push(void* _item) { Add(_item); }

typedef struct {
    list_it* mEntryNode;
    list_it* mLastNode;
}
    
#endif
