_entry
#define call_gadget(_hs, _entry) \
(_hs)->driver && (_hs)->driver->_entry) { \
(_hs)->driver->_entry(&(_hs)->gadget); \
#define call_gadget(_hs, _entry) do {} while (0)
#define VMMAP_FREE_START(_entry) ((_entry)->end + (_entry)->guard)
#define VMMAP_FREE_END(_entry) ((_entry)->end + (_entry)->guard + \
(_entry)->fspace)
#define DEAD_ENTRY_PUSH(_headptr, _entry) \
dead_entry_push((_headptr), (_entry))
#define UVM_MAP_CLIP_END(_map, _entry, _addr) \
KASSERT((_entry)->start < (_addr)); \
if ((_entry)->end > (_addr)) \
uvm_map_clip_end((_map), (_entry), (_addr)); \
#define UVM_MAP_CLIP_START(_map, _entry, _addr) \
KASSERT((_entry)->end + (_entry)->fspace > (_addr)); \
if ((_entry)->start < (_addr)) \
uvm_map_clip_start((_map), (_entry), (_addr)); \
int (*func)(char *, struct passwd *, struct _entry *);
SLIST_ENTRY(_entry) entries;
SLIST_HEAD(crontab_list, _entry) crontab; /* this person's crontab */