/* * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ #pragma ident "%Z%%M% %I% %E% SMI" #pragma D depends_on module unix typedef struct syseventinfo { string se_class; /* event class */ string se_subclass; /* event subclass */ string se_publisher; /* event publisher */ } syseventinfo_t; #pragma D binding "1.0" translator translator syseventinfo_t < sysevent_impl_t *ev > { se_class = stringof(((char*)&(((sysevent_impl_t*)(void*)(ev))->se_class_name))); se_subclass = stringof(((char*)((caddr_t)(ev)+(((sysevent_impl_t*)(void*)(ev))->se_header.se_subclass_off)))); se_publisher = stringof(((char*)((caddr_t)(ev)+(((sysevent_impl_t*)(void*)(ev))->se_header.se_pub_off)))); }; typedef struct syseventchaninfo { string ec_name; /* channel name, or NULL if default */ } syseventchaninfo_t; #pragma D binding "1.0" translator translator syseventchaninfo_t < evch_bind_t *bind > { ec_name = (bind ? stringof(bind->bd_channel->ch_name) : NULL); };