The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

dmd (7)
  • >> dmd (7) ( Solaris man: Макропакеты и соглашения )
  • Ключ dmd обнаружен в базе ключевых слов.
  •  

    NAME

    dmd - Driver for MMS drive managers
     
    

    SYNOPSIS

    /devices/pseudo/dmd@0:watcher
    

    /devices/pseudo/dmd@0:ndrm
    

    /devices/pseudo/dmd@0:stat
    

     

    DESCRIPTION

    The Media Management System (MMS) is a distributed removable media management system based on the IEEE 1244 Media Management System specification. MMS provides a uniform, consistent tape interface to client applications.

    Drives managed by MMS have a drive manager on each host that processes tapes and accesses the drive. The drive manager provides device-specific operations and label processing. (Note: only ANSI labels are currently supported.) The handle returned by the MMS MMP mount command belongs to the drive manager driver (dmd). When dmd receives an open or close system call, it passes it to the drive manager for processing. The drive manager then validates the file according to the file disposition flags. Note that only O_RDONLY, O_WRONLY and O_RDWR flags are used in validation. If O_APPEND is specified, the drive manager positions the file as if append is specified in the mount command and the record format and blocksize are set.  

    IOCTLS

    The Device Manager driver supports the MTIOCTOP, MTREW, MTRETEN, MTFSF, MTFSR, MTBSF, MTBSR, MTWEOF, MTEOM, MTSRSZ, MTGRSZ, MTIOCGET and MTIOCLRERR driver ioctls. In addition, MMS provides the ioctls shown below for the device manager driver. (Note that MMS_LOCATE is supported in both mms and raw modes and MMS_LOCATE is supported only in mms mode).

    MMS_BLK_LIMIT - returns the block limit of a drive.
                   arg:
    
           typedef struct  mms_blk_limit {
                   uint64_t        mms_max;        /* Max blocksize */
                   uint32_t        mms_min;        /* Min blocksize */
                   uint32_t        mms_gran;       /* granularity */
           }       mms_blk_limit_t;
    
     MMS_GET_POS - gets the current position.
                   arg:
    
           typedef struct  mms_pos {
                   uint32_t        mms_type;       /* LBN or non LBN) */
                   uint64_t        mms_pos;
           }       mms_pos_t;
    
           /* Value of mms_pos_type */
           #define MMS_LBYTEN              1       /* logical byte */
           #define MMS_LBLKN               2       /* logical block */
    
     MMS_LOCATE -  locate to a specific location.
                   arg: arg must be a mms_pos_t obtained from a 
                   previous MMS_GET_POS.
    
     MMS_GET_CAPACITY - returns the tape's capacity.
                         arg:
           typedef struct mms_capacity {
                   /*
                    * Capacity is in megabytes (1048576)
                    */
                   uint64_t        mms_max;        /* cartridge capacity */
                   uint64_t        mms_avail;      /* amount available */
                                                           /* from EOD */
                   uint32_t        mms_pc_avail;   /* percent available */
           }       mms_capacity_t;
    
     MMS_SET_DENSITY - sets the tape's density.
                       arg:
           typedef struct  mms_density {
                   uint32_t        mms_den;
           }       mms_density_t;
    
     MMS_GET_DENSITY - gets the current tape density.
                       arg:
           typedef struct  mms_density {
                   uint32_t        mms_den;
           }       mms_density_t;
    
     MMS_INQUIRY - gets inquiry data of drive.
                   arg:
           typedef struct  mms_inquiry     {
                   uchar_t         mms_inq[64];
           }       mms_inquiry_t;
    
    
    Status of dmd
    
    MMS uses the MTIOCGET ioctl to report status.
    The status code in mt_dsreg is defined as follows:
    
           /usr/include/sys/scsi/generic/status.h
    
           #define STATUS_MASK                     0x3E
           #define STATUS_GOOD                     0x00
           #define STATUS_CHECK                    0x02
           #define STATUS_MET                      0x04
           #define STATUS_BUSY                     0x08
           #define STATUS_INTERMEDIATE             0x10
           #define STATUS_SCSI2                    0x20
           #define STATUS_INTERMEDIATE_MET         0x14
           #define STATUS_RESERVATION_CONFLICT     0x18
           #define STATUS_TERMINATED               0x22
           #define STATUS_QFULL                    0x28
           #define STATUS_ACA_ACTIVE               0x30
    
    The error code in mt_erreg are defined 
    as follows:
    
           /usr/include/sys/scsi/generic/sense.h
    
           /*
            * Sense Key values for Extended Sense.
            */
    
           #define KEY_NO_SENSE            0x00
           #define KEY_RECOVERABLE_ERROR   0x01
           #define KEY_NOT_READY           0x02
           #define KEY_MEDIUM_ERROR        0x03
           #define KEY_HARDWARE_ERROR      0x04
           #define KEY_ILLEGAL_REQUEST     0x05
           #define KEY_UNIT_ATTENTION      0x06
           #define KEY_WRITE_PROTECT       0x07
           #define KEY_DATA_PROTECT        KEY_WRITE_PROTECT
           #define KEY_BLANK_CHECK         0x08
           #define KEY_VENDOR_UNIQUE       0x09
           #define KEY_COPY_ABORTED        0x0A
           #define KEY_ABORTED_COMMAND     0x0B
           #define KEY_EQUAL               0x0C
           #define KEY_VOLUME_OVERFLOW     0x0D
           #define KEY_MISCOMPARE          0x0E
           #define KEY_RESERVED            0x0F
    
    
    /usr/include/sys/scsi/impl/sense.h:
           /* Status returned by driver */
           #define SUN_KEY_FATAL           0x10    /* handshake failure */
           #define SUN_KEY_TIMEOUT         0x11    /* command timeout */
           #define SUN_KEY_EOF             0x12    /* eof hit */
           #define SUN_KEY_EOT             0x13    /* eot hit */
           #define SUN_KEY_LENGTH          0x14    /* length error */
           #define SUN_KEY_BOT             0x15    /* bot hit */
           #define SUN_KEY_WRONGMEDIA      0x16    /* wrong tape media */
           #define NUM_IMPL_SENSE_KEYS     7       /* seven extra keys */
    
    
    In MMS mode, the following values may be in mt_erreg when using 
    mms mode. They are defined in mms.h
    
           #define MMS_KEY_BOF     0xe0    /* beginning of file. */
           #define MMS_KEY_EOF     0xe1    /* end of file. */
    

     

    FILES

    /kernel/drv/dmd

    32-bit kernel module (x86)

    /kernel/drv/sparcv9/dmd

    64-bit kernel module (SPARC)

    /kernel/drv/amd64/dmd

    64-bit kernel module (x86)

    /kernel/drv/dmd.conf

    Configuration file

     

    ATTRIBUTES

    See attributes(5) for a description of the following attributes:

    ATTRIBUTE TYPEATTRIBUTE VALUE

    ArchitectureSPARC, x86

    Availability

    Interface Stability

     

    SEE ALSO

    mt(1), mmsadm(1M), attributes(5), dda(7D), st(7D), mtio(7I)

    IEEE 1244 Removable Media Standards Specification --- IEEE, 2000


     

    Index

    NAME
    SYNOPSIS
    DESCRIPTION
    IOCTLS
    FILES
    ATTRIBUTES
    SEE ALSO


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру