int nwamd_loc_action(const char *loc, nwam_action_t action) { nwamd_event_t event = nwamd_event_init_object_action (NWAM_OBJECT_TYPE_LOC, loc, NULL, action); if (event == NULL) return (1); nwamd_event_enqueue(event); return (0); }
/* ARGSUSED0 */ static void nwamd_dlpi_notify(dlpi_handle_t dhp, dlpi_notifyinfo_t *info, void *arg) { nwamd_event_t ev; char *name = arg; if (info->dni_note & DL_NOTE_LINK_UP) ev = nwamd_event_init_link_state(name, B_TRUE); else ev = nwamd_event_init_link_state(name, B_FALSE); if (ev != NULL) nwamd_event_enqueue(ev); }
static int loc_create_init_fini_event(nwam_loc_handle_t loch, void *data) { boolean_t *init = data; char *name; nwamd_event_t event; if (nwam_loc_get_name(loch, &name) != NWAM_SUCCESS) { nlog(LOG_ERR, "loc_init_fini: could not get loc name"); return (0); } event = nwamd_event_init(*init ? NWAM_EVENT_TYPE_OBJECT_INIT : NWAM_EVENT_TYPE_OBJECT_FINI, NWAM_OBJECT_TYPE_LOC, 0, name); if (event != NULL) nwamd_event_enqueue(event); free(name); return (0); }