Lines Matching refs:sim
39 * The sim driver creates a sim for each controller. The sim device
41 * sims. For instance, a driver may create one sim for each channel of
50 typedef void (*sim_action_func)(struct cam_sim *sim, union ccb *ccb);
51 typedef void (*sim_poll_func)(struct cam_sim *sim);
74 void cam_sim_free(struct cam_sim *sim, int free_devq);
75 void cam_sim_hold(struct cam_sim *sim);
76 void cam_sim_release(struct cam_sim *sim);
78 /* Optional sim attributes may be set with these. */
79 void cam_sim_set_path(struct cam_sim *sim, u_int32_t path_id);
81 /* Generically useful offsets into the sim private area */
88 * The sim driver should not access anything directly from this
112 #define CAM_SIM_LOCK(sim) mtx_lock((sim)->mtx)
113 #define CAM_SIM_UNLOCK(sim) mtx_unlock((sim)->mtx)
116 cam_sim_path(const struct cam_sim *sim)
118 return (sim->path_id);
122 cam_sim_name(const struct cam_sim *sim)
124 return (sim->sim_name);
128 cam_sim_softc(const struct cam_sim *sim)
130 return (sim->softc);
134 cam_sim_unit(const struct cam_sim *sim)
136 return (sim->unit_number);
140 cam_sim_bus(const struct cam_sim *sim)
142 return (sim->bus_id);
146 cam_sim_pollable(const struct cam_sim *sim)
148 return (sim->sim_poll != NULL);