

#define obtype(t,o)			(t[o].ob_type)
#define obstate(t,o)		(t[o].ob_state)
#define	obflags(t,o)		(t[o].ob_flags)
#define	obselected(t,o)		(t[o].ob_state & SELECTED)
#define	obdisabled(t,o)		(t[o].ob_state & DISABLED)
#define	obhidden(t,o)		(t[o].ob_flags & HIDETREE)
#define	obstr(t,o)			(t[o].ob_spec.free_string)
#define	obtext(t,o)			(t[o].ob_spec.tedinfo->te_ptext)
#define	obsettext(t,o,s) \
	do { \
		strcpy( t[o].ob_spec.tedinfo->te_ptext, (s) ); \
	} while(0)
#define obsetstate(t,o,f,s)	((f)?(t[o].ob_state |= (s)):(t[o].ob_state &= ~(s)))
#define obsetflags(t,o,f,s)	((f)?(t[o].ob_flags |= (s)):(t[o].ob_flags &= ~(s)))
#define obselect(t,o,f)		obsetstate(t,o,f,SELECTED)
#define obdisable(t,o,f)	obsetstate(t,o,f,DISABLED)
#define obhide(t,o,f)		obsetflags(t,o,f,HIDETREE)
#define	obusrblk(t,o)		(t[o].ob_spec.userblk)


