Lines Matching refs:un

110 #define	KIOSP	KSTAT_IO_PTR(un->un_iostat)
207 static int fd_part_is_open(struct fdunit *un, int part);
224 static int fd_get_media_info(struct fdunit *un, caddr_t buf, int flag);
1438 struct fdunit *un;
1457 un = fdc->c_un;
1458 if ((un == NULL) || !fd_unit_is_open(fdc->c_un))
1463 un->un_label.dkl_map[FDPARTITION(dev)].dkl_nblk;
1477 struct fdunit *un;
1485 if ((fdc == NULL) || ((un = fdc->c_un) == NULL)) {
1500 dkm = &un->un_label.dkl_map[part];
1536 if (fd_unit_is_open(un) == 0) {
1559 part_is_open = (un->un_lyropen[part] != 0);
1561 part_is_open = fd_part_is_open(un, part);
1563 if ((un->un_exclmask & pbit) || ((flag & FEXCL) && part_is_open)) {
1585 if (fd_unit_is_open(un) == 0) {
1604 if (fd_unit_is_open(un) == 0)
1618 un->un_exclmask |= pbit;
1621 un->un_lyropen[part]++;
1623 un->un_regopen[otyp] |= pbit;
1636 fd_part_is_open(struct fdunit *un, int part)
1640 if (un->un_regopen[i] & (1 << part))
1652 register struct fdunit *un;
1655 if (!fdc || !(un = fdc->c_un))
1667 un->un_lyropen[part]--;
1668 part_is_closed = (un->un_lyropen[part] == 0);
1670 un->un_regopen[otyp] &= ~(1<<part);
1674 un->un_exclmask &= ~(1<<part);
1676 if (fd_unit_is_open(un) == 0) {
1679 un->un_flags &= ~FDUNIT_CHANGED;
1697 struct fdunit *un;
1708 un = fdc->c_un;
1709 dkm = &un->un_label.dkl_map[FDPARTITION(bp->b_edev)];
1715 if (un->un_chars->fdc_medium) {
1765 if (bp->b_bcount % un->un_chars->fdc_sec_size) {
1769 bp->b_bcount, un->un_chars->fdc_sec_size));
1808 if (un->un_iostat) {
1884 struct fdunit *un;
1901 un = fdc->c_un;
1902 sec_size = un->un_chars->fdc_sec_size;
1955 cpy.dkg.dkg_ncyl = un->un_chars->fdc_ncyl;
1956 cpy.dkg.dkg_nhead = un->un_chars->fdc_nhead;
1957 cpy.dkg.dkg_nsect = un->un_chars->fdc_secptrack;
1958 cpy.dkg.dkg_intrlv = un->un_label.dkl_intrlv;
1959 cpy.dkg.dkg_rpm = un->un_label.dkl_rpm;
1960 cpy.dkg.dkg_pcyl = un->un_chars->fdc_ncyl;
1984 if (ddi_copyout(&un->un_label.dkl_map,
1995 un->un_label.dkl_map[dkunit].dkl_cylno;
1997 un->un_label.dkl_map[dkunit].dkl_nblk;
2017 un->un_label.dkl_map[dkunit] =
2034 un->un_label.dkl_map[dkunit].dkl_cylno =
2036 un->un_label.dkl_map[dkunit].dkl_nblk =
2061 fd_build_user_vtoc(un, &vtoc);
2121 if ((un->un_chars->fdc_ncyl == 0) ||
2122 (un->un_chars->fdc_nhead == 0) ||
2123 (un->un_chars->fdc_secptrack == 0)) {
2129 if ((err = fd_build_label_vtoc(un, &vtoc)) != 0) {
2137 (caddr_t)&un->un_label, sizeof (struct dk_label));
2153 if (ddi_copyout((caddr_t)&un->un_media_state,
2159 if (ddi_copyout((caddr_t)un->un_chars, (caddr_t)arg,
2209 *(un->un_chars) = cpy.fdchar;
2211 un->un_curfdtype = -1;
2291 if (un->un_flags & FDUNIT_CHANGED)
2295 un->un_flags &= ~FDUNIT_CHANGED;
2345 * un->un_ejected flag. So, if the following
2349 if (un->un_ejected && !(cpy.temp & FDGC_CURRENT)) {
2352 un->un_ejected = 0;
2410 err = fd_get_media_info(un, (caddr_t)arg, flag);
2488 spt = un->un_chars->fdc_secptrack; /* sec/trk */
2489 spc = un->un_chars->fdc_nhead * spt; /* sec/cyl */
2497 nblks = spc * un->un_chars->fdc_ncyl;
2950 struct fdunit *un;
2967 un = fdc->c_un;
2968 ch = un->un_chars;
3086 struct fdunit *un;
3128 un = fdc->c_un;
3129 ch = un->un_chars;
3131 dkm = &un->un_label.dkl_map[part];
3133 if (un->un_chars->fdc_medium) {
3139 if (un->un_iostat) {
3399 if (un->un_iostat) {
5127 struct fdunit *un;
5131 un = fdc->c_un;
5173 un->un_ejected = 1;
5239 struct fdunit *un;
5250 un = fdc->c_un;
5251 un->un_flags &= ~(FDUNIT_UNLABELED);
5278 * if un->un_curfdtype is -1 then the current characteristics
5282 if (un->un_curfdtype == -1) {
5291 un->un_curfdtype = 0;
5292 *(un->un_chars) = fdtypes[un->un_curfdtype];
5298 (C, "fdgetl: no. of curfdtype %d\n", un->un_curfdtype));
5305 un->un_chars->fdc_secptrack, (caddr_t)label,
5309 un->un_chars->fdc_secptrack + 1,
5326 un->un_curfdtype = (un->un_curfdtype + 1) % nfdtypes;
5327 *(un->un_chars) = fdtypes[un->un_curfdtype];
5339 un->un_curfdtype = 1;
5340 *(un->un_chars) = fdtypes[un->un_curfdtype];
5342 fdunpacklabel(&fdlbl_high_80, &un->un_label);
5351 (C, "fdgetl: fdtype=%d !!!\n", un->un_curfdtype));
5354 un->un_chars->fdc_transfer_rate, un->un_chars->fdc_sec_size));
5398 un->un_label = *label;
5410 un->un_flags |= FDUNIT_UNLABELED;
5411 switch (un->un_chars->fdc_secptrack) {
5413 fdunpacklabel(&fdlbl_low_80, &un->un_label);
5416 fdunpacklabel(&fdlbl_medium_80, &un->un_label);
5419 fdunpacklabel(&fdlbl_high_80, &un->un_label);
5422 fdunpacklabel(&fdlbl_high_21, &un->un_label);
5425 fdunpacklabel(&fdlbl_high_80, &un->un_label);
5647 fd_unit_is_open(struct fdunit *un)
5651 if (un->un_lyropen[i])
5654 if (un->un_regopen[i])
5665 fd_build_user_vtoc(struct fdunit *un, struct vtoc *vtoc)
5676 vtoc->v_bootinfo[0] = un->un_label.dkl_vtoc.v_bootinfo[0];
5677 vtoc->v_bootinfo[1] = un->un_label.dkl_vtoc.v_bootinfo[1];
5678 vtoc->v_bootinfo[2] = un->un_label.dkl_vtoc.v_bootinfo[2];
5681 vtoc->v_sanity = un->un_label.dkl_vtoc.v_sanity;
5682 vtoc->v_version = un->un_label.dkl_vtoc.v_version;
5685 bcopy(un->un_label.dkl_vtoc.v_volume,
5699 vtoc->v_nparts = un->un_label.dkl_vtoc.v_nparts;
5702 bcopy(un->un_label.dkl_vtoc.v_reserved,
5703 vtoc->v_reserved, sizeof (un->un_label.dkl_vtoc.v_reserved));
5710 lmap = un->un_label.dkl_map;
5711 lpart = un->un_label.dkl_vtoc.v_part;
5714 nblks = (un->un_chars->fdc_nhead * un->un_chars->fdc_secptrack *
5715 un->un_chars->fdc_sec_size) / DEV_BSIZE;
5729 bcopy(un->un_label.dkl_vtoc.v_timestamp,
5732 bcopy(un->un_label.dkl_asciilabel,
5740 fd_build_label_vtoc(struct fdunit *un, struct vtoc *vtoc)
5758 nblks = (un->un_chars->fdc_nhead * un->un_chars->fdc_secptrack *
5759 un->un_chars->fdc_sec_size) / DEV_BSIZE;
5778 if (ncyl > un->un_chars->fdc_ncyl) {
5787 bzero(&un->un_label, sizeof (un->un_label));
5790 un->un_label.dkl_vtoc.v_bootinfo[0] = (uint32_t)vtoc->v_bootinfo[0];
5791 un->un_label.dkl_vtoc.v_bootinfo[1] = (uint32_t)vtoc->v_bootinfo[1];
5792 un->un_label.dkl_vtoc.v_bootinfo[2] = (uint32_t)vtoc->v_bootinfo[2];
5794 un->un_label.dkl_vtoc.v_sanity = vtoc->v_sanity;
5795 un->un_label.dkl_vtoc.v_version = vtoc->v_version;
5797 bcopy(vtoc->v_volume, un->un_label.dkl_vtoc.v_volume, LEN_DKL_VVOL);
5799 un->un_label.dkl_vtoc.v_nparts = vtoc->v_nparts;
5801 bcopy(vtoc->v_reserved, un->un_label.dkl_vtoc.v_reserved,
5802 sizeof (un->un_label.dkl_vtoc.v_reserved));
5810 lmap = un->un_label.dkl_map;
5811 lpart = un->un_label.dkl_vtoc.v_part;
5827 un->un_label.dkl_vtoc.v_timestamp[i] = vtoc->timestamp[i];
5831 bcopy(vtoc->v_asciilabel, un->un_label.dkl_asciilabel, LEN_DKL_ASCII);
5835 un->un_label.dkl_asciilabel));
5838 un->un_label.dkl_magic = DKL_MAGIC;
5840 un->un_label.dkl_pcyl = un->un_chars->fdc_ncyl;
5848 un->un_label.dkl_nsect = (un->un_chars->fdc_secptrack *
5849 un->un_chars->fdc_sec_size) / DEV_BSIZE;
5852 un->un_label.dkl_ncyl = un->un_label.dkl_pcyl;
5853 un->un_label.dkl_nhead = un->un_chars->fdc_nhead;
5854 un->un_label.dkl_rpm = un->un_chars->fdc_medium ? 360 : 300;
5855 un->un_label.dkl_intrlv = 1;
5859 un->un_label.dkl_cksum = 0;
5860 sp = (short *)&un->un_label;
5865 un->un_label.dkl_cksum = sum;
5948 * there is a change if un->un_chars->fdc_medium does not match
5949 * un->un_flags & FDUNIT_MEDIUM
5950 * un->un_flags & FDUNIT_MEDIUM specifies the last setting.
5951 * un->un_chars->fdc_medium specifies next setting.
6004 struct fdunit *un;
6011 un = fdc->c_un;
6015 if (un->un_media_timeout_id == 0) {
6025 un->un_media_state = fd_get_media_state(fdc, unit);
6030 if (un->un_media_timeout) {
6031 un->un_media_timeout_id = timeout(fd_media_watch,
6032 (void *)(ulong_t)dev, un->un_media_timeout);
6059 struct fdunit *un;
6067 un = fdc->c_un;
6087 un->un_media_state = fd_get_media_state(fdc, unit);
6090 un->un_media_timeout = drv_usectohz(fd_check_media_time);
6091 un->un_media_timeout_id = timeout(fd_media_watch,
6092 (void *)(ulong_t)dev, un->un_media_timeout);
6094 while (un->un_media_state == state) {
6096 un->un_media_timeout = 0;
6102 if (un->un_media_timeout_id) {
6103 timeout_id_t timeid = un->un_media_timeout_id;
6104 un->un_media_timeout_id = 0;
6111 if (un->un_media_state == DKIO_INSERTED) {
6130 fd_get_media_info(struct fdunit *un, caddr_t buf, int flag)
6136 media_info.dki_lbsize = un->un_chars->fdc_sec_size;
6137 media_info.dki_capacity = un->un_chars->fdc_ncyl *
6138 un->un_chars->fdc_secptrack * un->un_chars->fdc_nhead;
6226 struct fdunit *un = fdc->c_un;
6264 un->un_state = FD_STATE_NORMAL;