• Home
  • Raw
  • Download

Lines Matching +full:- +full:- +full:privileged

42 	int privileged;  member
53 Since Sun won't accept a non-Sun label on a scsi disk, we must
54 bypass Sun's disk interface and use low-level SCSI commands to read
57 uscsi ioctl interface. By James Dugal, jpd@usl.edu, 11-96. Tested
64 Note 2: Sol 2.5 wants mtools to be suid-root, to use the ioctl. SunOS is
71 int fd = This->fd; in scsi_init()
79 sizeof(buf), This->extra_data)==0) in scsi_init()
81 This->tot_sectors= in scsi_init()
86 if(This->tot_sectors < UINT32_MAX) in scsi_init()
87 This->tot_sectors++; in scsi_init()
89 This->scsi_sector_size= in scsi_init()
93 if (This->scsi_sector_size != 512) in scsi_init()
94 fprintf(stderr," (scsi_sector_size=%d)\n",This->scsi_sector_size); in scsi_init()
97 return -1; in scsi_init()
102 * Overflow-safe conversion of bytes to sectors
125 firstblock=truncMtOffTo32u(where/(mt_off_t)This->scsi_sector_size); in scsi_io()
127 offset=(smt_off_t) where % This->scsi_sector_size; in scsi_io()
128 nsect=bytesToSectors(offset+len, This->scsi_sector_size); in scsi_io()
130 if (This->scsi_sector_size>512) in scsi_io()
131 firstblock*=This->scsi_sector_size/512; /* work around a uscsi bug */ in scsi_io()
137 while (nsect*This->scsi_sector_size>len) in scsi_io()
138 --nsect; in scsi_io()
205 if(This->privileged) in scsi_io()
208 r=scsi_cmd(This->fd, (unsigned char *)cdb, clen, rwcmd, buf, in scsi_io()
209 nsect*This->scsi_sector_size, This->extra_data); in scsi_io()
211 if(This->privileged) in scsi_io()
216 return -1; in scsi_io()
226 memmove(buf,buf+offset, nsect*This->scsi_sector_size-offset); in scsi_io()
229 else return (ssize_t)(nsect*This->scsi_sector_size-offset); in scsi_io()
258 *size = This->device_size; in scsi_get_data()
273 0, /* pre-allocate */
274 0, /* dos-convert */
294 init_head(&This->head, &ScsiDeviceClass, NULL); in OpenScsi()
295 This->scsi_sector_size = 512; in OpenScsi()
299 This->privileged = IS_PRIVILEGED(dev); in OpenScsi()
300 mode |= dev->mode; in OpenScsi()
309 This->fd = scsi_open(name, mode, IS_NOLOCK(dev)?0444:0666, in OpenScsi()
310 &This->extra_data); in OpenScsi()
315 if (This->fd < 0) { in OpenScsi()
329 closeExec(This->fd); in OpenScsi()
331 if(LockDevice(This->fd, dev, locked, lockMode, errmsg) < 0) in OpenScsi()
335 *maxSize = MAX_OFF_T_B(31+log_2(This->scsi_sector_size)); in OpenScsi()
336 if(This->privileged) in OpenScsi()
339 if(This->privileged) in OpenScsi()
343 dev->tot_sectors = This->tot_sectors; in OpenScsi()
344 return &This->head; in OpenScsi()
346 close(This->fd); in OpenScsi()