mapinfo
cam_periph_mapmem(union ccb *ccb, struct cam_periph_map_info *mapinfo)
mapinfo->dirs[0] = CAM_DIR_OUT;
mapinfo->dirs[1] = CAM_DIR_IN;
mapinfo->dirs[0] = CAM_DIR_IN;
mapinfo->dirs[0] = ccb->ccb_h.flags & CAM_DIR_MASK;
if (mapinfo->dirs[i] & CAM_DIR_OUT) {
if (mapinfo->dirs[i] & CAM_DIR_IN) {
mapinfo->saved_ptrs[i] = *data_ptrs[i];
if (mapinfo->dirs[i] & CAM_DIR_OUT) {
cam_periph_unmapbufs(mapinfo, data_ptrs, i);
mapinfo->num_bufs_used -= i;
mapinfo->bp[i] = bp;
mapinfo->num_bufs_used++;
cam_periph_unmapmem(union ccb *ccb, struct cam_periph_map_info *mapinfo)
if (mapinfo->num_bufs_used <= 0) {
numbufs = min(mapinfo->num_bufs_used, 2);
static void cam_periph_unmapbufs(struct cam_periph_map_info *mapinfo,
numbufs = min(mapinfo->num_bufs_used, 1);
cam_periph_unmapbufs(mapinfo, data_ptrs, numbufs);
cam_periph_unmapbufs(struct cam_periph_map_info *mapinfo,
bp = mapinfo->bp[i];
*data_ptrs[i] = mapinfo->saved_ptrs[i];
if (mapinfo->dirs[i] & CAM_DIR_IN) {
mapinfo->bp[i] = NULL;
struct cam_periph_map_info *mapinfo);
struct cam_periph_map_info *mapinfo);
struct cam_periph_map_info mapinfo;
bzero(&mapinfo, sizeof(mapinfo));
error = cam_periph_mapmem(inccb, &mapinfo);
cam_periph_unmapmem(inccb, &mapinfo);
struct cam_periph_map_info mapinfo;
bzero(&mapinfo, sizeof(mapinfo));
error = cam_periph_mapmem(ccb, &mapinfo);
cam_periph_unmapmem(ccb, &mapinfo);
struct cam_periph_map_info mapinfo;
bzero(&mapinfo, sizeof(mapinfo));
error = cam_periph_mapmem(ccb, &mapinfo);
cam_periph_unmapmem(ccb, &mapinfo);
descr->mapinfo.num_bufs_used = 0;
struct cam_periph_map_info mapinfo;
struct cam_periph_map_info *mapinfo;
mapinfo = &descr->mapinfo;
mapinfo->num_bufs_used = 0;
error = cam_periph_mapmem(ccb, mapinfo);
mapinfo->num_bufs_used = 0;
if (descr->mapinfo.num_bufs_used != 0)
cam_periph_unmapmem(ccb, &descr->mapinfo);
int mapprint(struct mapinfo *, off_t, off_t);
int maparound(struct mapinfo *, off_t);
struct mapinfo map;
mapprint(struct mapinfo *mip, off_t startoff, off_t len)
maparound(struct mapinfo *mip, off_t offset)
struct mapinfo map;