mcsysinfo - MagniComp(tm) SysInfo - Obtain system informa­
       tion in a platform neutral manner


SYNOPSIS

       cc -I/usr/local/sysinfo/include [ options ] file [  ...  ]
       -L/usr/local/sysinfo/lib/platform/name -lmcsysinfo

       #include <mcsysinfo.h>

       MCSIquery_t Query;


       Query.Op = MCSIOP_PROGRAM;
       Query.In = "ProgramName";
       Query.InSize = strlen((char *)Query.In);
       int mcSysInfo(&Query);


       Query.Op = MCSIOP_CREATE;
       Query.Cmd = MCCMD;
       int mcSysInfo(&Query);

       Query.Op = MCSIOP_DESTROY;
       int mcSysInfo(&Query);


DESCRIPTION

       The  MagniComp(tm) SysInfo mcSysInfo() function allows the
       caller to obtain system information about the local system
       in  an operating system neutral fashion.  Data is returned
       in platform nuetral data structures.  This allows applica­
       tions  to  be  built  using mcSysInfo() which are platform
       neutral.

       The Query.Op parameter controls the basic  operation  per­
       formed  by  mcSysInfo().   The  following  values are sup­
       ported:

              MCSIOP_PROGRAM
                     When Query.Op is set to MCSIOP_PROGRAM  then
                     Query.In should point at a string naming the
                     calling program and Query.InSize  should  be
                     set  to the size of Query.In in bytes.  This
                     name is used by mcSysInfo() when  displaying
                     error and debug messages.

              MCSIOP_CREATE
                     When  Query.Op is set to MCSIOP_CREATE, data
                     is retrieved from the local system in  plat­
                     form specific manner and placed in allocated
                     structures  in  the  location  indicated  by
                     Query.Out.

                  uint_t      Flags;      /* Option Flags */
                  char      **SearchExp;  /* Search Expression */
                  Opaque_t    In;         /* Ptr to Input */
                  size_t      InSize;     /* Size of In */
                  /* Results */
                  Opaque_t    Out;        /* Ptr to Output */
                  size_t      OutSize;    /* Size of Out */
              } MCSIquery_t;


       The members of MCSIquery_t are defined as follows:

       Op     Specifies  what operation to perform on Cmd.  Valid
              values are as follows:

              MCSIOP_CREATE
                     (Default) Obtain the data requested  by  Cmd
                     and return the result in the Out and OutSize
                     parameters.  The  data  located  at  Out  is
                     allocated  when  this function is called and
                     should be destroyed (unallocated) by calling
                     mcSysInfo()  with  Op  set to MCSIOP_DESTROY
                     (see below).

              MCSIOP_DESTROY
                     Destroy (unallocate)  the  data  located  at
                     address Out.

       Cmd    Specifies  which command to perform.  See below for
              the valid list of commands.

       Flags  Flags is a set of bit flags which enable  different
              options as specified by the following values:

              MCSIF_DATA
                     (Default)  This  option  causes  data  to be
                     returned to  the  Out  buffer  in  the  form
                     requiring  the  least  amount  of additional
                     parsing by the calling function as possible.
                     The  actual form varies according to the Cmd
                     that was specified.

              MCSIF_STRING
                     This option causes data to  be  returned  in
                     string form readying for human display when­
                     ever possible.  This option is  only  avail­
                     able  for  specific  Cmd values as specified
                     below.

       SearchExp
              An array of  strings  to  use  to  limit  the  data
              returned  in Out.  Only the following commands sup­
              tents of the buffer vary according to the Cmd spec­
              ified.  See below for more details.

       OutSize
              The size (length) of data located in the Out  loca­
              tion  is  specified  by  OutSize where appropriate.
              The OutSize data is not guarenteed to by  the  full
              size  of the allocated buffer, but is guaranteed to
              always be greater than zero when the call  succeeds
              and  Out  points  to a valid buffer.  See below for
              more details.

       The valid values for Cmd are as follows:

              MCSI_HOSTNAME
                     Obtain the system's canonical hostname.

                      Out    Points at a  char  *  buffer.   e.g.
                             "sunworld".

                     OutSize
                             Indicates  the  length  of  the  Out
                             buffer.

              MCSI_HOSTALIASES
                     Obtain a list of host aliases for the  local
                     host.  These are obtained via the gethostby­
                     name(3) call from the h_aliases parameter of
                     struct hostent.

                      Out    When MCSIF_DATA is set in Flags (the
                             default) Out is a pointer to a  char
                             ** array of aliases.  The last entry
                             in this array will always  be  NULL.
                             When  MCSIF_STRING  is  set in Flags
                             Out is a pointer to a char *  string
                             which  contains  a  space  seperated
                             list of aliases.  e.g.  "fred  fred2
                             fred3".


                     OutSize
                             When MCSIF_DATA is set in Flags (the
                             default) OutSize indicates the  num­
                             ber  of entries in the array located
                             at   the   Out    location.     When
                             MCSIF_STRING is set in Flags OutSize
                             indicates the length of the  buffer.

              MCSI_HOSTADDRS
                     Obtain   a   list  of  the  local  hosts  IP
                     addresses.
                             When MCSIF_DATA is set in Flags (the
                             default) OutSize indicates the  num­
                             ber  of entries in the array located
                             at   the   Out    location.     When
                             MCSIF_STRING is set in Flags OutSize
                             indicates the length of the  buffer.

              MCSI_HOSTID
                     Obtain the host identifier.

                      Out    Points  at  a  char  * buffer.  e.g.
                             "8025asf3".

                     OutSize
                             Indicates  the  length  of  the  Out
                             buffer.

              MCSI_SERIAL
                     Obtain the host's serial number.

                      Out    Points  at  a  char  * buffer.  e.g.
                             "FF5443139".

                     OutSize
                             Indicates  the  length  of  the  Out
                             buffer.

              MCSI_MANSHORT
                     Obtain the short name of the host's manufac­
                     turer.

                      Out    Points at a  char  *  buffer.   e.g.
                             "Sun".

                     OutSize
                             Indicates  the  length  of  the  Out
                             buffer.

              MCSI_MANLONG
                     Obtain the long name of the host's  manufac­
                     turer.

                      Out    Points  at  a  char  * buffer.  e.g.
                             "Sun Microsystems, Inc."

                     OutSize
                             Indicates  the  length  of  the  Out
                             buffer.

              MCSI_MAN
                     Obtain  the  combined short and long name of
                     the host's manufacturer.
                     OutSize
                             Indicates  the  length  of  the  Out
                             buffer.

              MCSI_NUMCPU
                     Obtain the number of physical CPUs which are
                     installed and enabled.

                      Out    Points  at  a  char  * buffer.  e.g.
                             "2".

                     OutSize
                             Indicates  the  length  of  the  Out
                             buffer.

              MCSI_CPUTYPE
                     Obtain  the  type  of CPU used in the system
                     (e.g. SPARCv9, Pentium, etc.).

                      Out    Points at a  char  *  buffer.   e.g.
                             "sparcv9+vis".

                     OutSize
                             Indicates  the  length  of  the  Out
                             buffer.

              MCSI_APPARCH
                     Obtain the application architecture  of  the
                     system (e.g. SPARC, x86, etc.).

                      Out    Points  at  a  char  * buffer.  e.g.
                             "sparc".

                     OutSize
                             Indicates  the  length  of  the  Out
                             buffer.

              MCSI_KERNARCH
                     Obtain the kernel architecture of the system
                     (e.g. sun4u, sun4m, etc.).

                      Out    Points at a  char  *  buffer.   e.g.
                             "sun4u".

                     OutSize
                             Indicates  the  length  of  the  Out
                             buffer.

              MCSI_OSNAME
                     Obtain the name of the operating system.

                      Out    Points at a  char  *  buffer.   e.g.
                             Indicates  the  length  of  the  Out
                             buffer.

              MCSI_OSDIST
                     Obtain the distribution name of the  operat­
                     ing  system (e.g. Solaris 2.6 5/98, S.u.S.e.
                     6.1, etc.).

                      Out    Points at a char * buffer.

                     OutSize
                             Indicates  the  length  of  the  Out
                             buffer.

              MCSI_KERNVER
                     Obtain  the  version  of the kernel which is
                     installed (e.g. SunOS  Release  5.6  Version
                     Generic_105182-05  [UNIX(R) System V Release
                     4.0])

                      Out    Points at a char * buffer.

                     OutSize
                             Indicates  the  length  of  the  Out
                             buffer.

              MCSI_BOOTTIME
                     Obtain  the  time  that  the system was last
                     booted.

                      Out    Points at a char * buffer.  e.g "Sat
                             Jun 19 11:55:41 1999".

                     OutSize
                             Indicates  the  length  of  the  Out
                             buffer.

              MCSI_CURRENTTIME
                     Obtain the current (local) system time.

                      Out    Points at a char * buffer.  e.g "Sat
                             Jun 19 11:55:41 1999".

                     OutSize
                             Indicates  the  length  of  the  Out
                             buffer.

              MCSI_DEVTREE
                     Obtain a list, possible  in  a  hierarchical
                     tree, of physical (hardware) devices present
                     on the system.

                             lows:

                             KeyStr The name of the kernel  vari­
                                    able.

                             ValStr1
                                    The  type of variable this is
                                    (boolean, int, long, string).

                             ValStr2
                                    Descriptive text of what this
                                    variable is for.

                             ValStr3
                                    The value obtained  from  the
                                    kernel.  The value is NULL if
                                    the   information   was   not
                                    available from the kernel.


                     OutSize

                     OutSize
                             The  number  of valid entries in the
                             linked list at location Out.

              MCSI_SYSCONF
                     Obtain a list of system configuration values
                     via the sysconf(3) interface.

                      Out    Points  at  a  linked  list  of type
                             Define_t which contains data as fol­
                             lows:

                             KeyStr The name of the variable.

                             ValStr1
                                    The  type of variable this is
                                    (boolean, int, long, string).

                             ValStr2
                                    Descriptive text of what this
                                    variable is for.

                             ValStr3
                                    The value obtained  from  the
                                    kernel converted to a string.
                                    The  value  is  NULL  if  the
                                    information was not available
                                    from the kernel.

                             ValInt1

                     which are installed on the system.

                      Out    Pointer to a SoftInfo_t buffer.  See
                             SoftInfo_t below for details.

                     OutSize
                             Is 1 or more if Out  contains  valid
                             data.

              MCSI_PARTITION
                     Obtain  a  list,  possible in a hierarchical
                     tree, of disk  partitions  defined  on  this
                     system.

                      Out    Pointer to a PartInfo_t buffer.  See
                             PartInfo_t below for details.

                     OutSize
                             Is 1 or more if Out  contains  valid
                             data.


DevInfo_t

       The  primary  device  information  data  type is DevInfo_t
       which is defined as:

              struct _DevInfo {
                  char              *Name;       /* Name (e.g. cgtwo0) */
                  char              *Driver;     /* Driver Name (e.g. cgtwo) */
                  char             **Aliases;    /* Alias Names */
                  char              *AltName;    /* Alt name */
                  char             **Files;      /* Device files */
                  int                Type;       /* Device type (eg DT_TAPE) */
                  int                ClassType;  /* Class type (eg SCSI,IPI) */
                  char              *Vendor;     /* Hardware Vendor */
                  char              *Model;      /* Model */
                  char              *ModelDesc;  /* eg SCSI, 4.0GB, etc. */
                  char              *Serial;     /* Serial Number */
                  char              *Revision;   /* Revision Info */
                  DevDesc_t         *DescList;   /* Device Description */
                  int                Unit;       /* Unit number */
                  int                NodeID;     /* ID of this node */
                  char              *MasterName; /* Name of master */
                  void              *DevSpec;    /* Device specific info */
                  struct _DevInfo   *Master;     /* Device controller */
                  struct _DevInfo   *Slaves;     /* Devices on this device */
                  struct _DevInfo   *Next;       /* Pointer to next device */
                  /* Internal use only */
                  void              *OSdata;     /* Data from OS */
                  /* Obsolete */
                  int                Addr;       /* Address */
                  int                Prio;       /* Priority */
                  int                Vec;        /* Vector */

              Name without the unit.  e.g. For a  device  with  a
              Name of sd0 the value of Driver would be sd

       Aliases
              An  array  of  alternate  values for Names by which
              this device may be addressed.  e.g. A  device  with
              Name   of   dwis0  might  have  an  alias  such  as
              pci1001,2003 .

       AltName
              This member is depreciated by the  Aliases  member.
              When  set,  it  contains a single alternate name by
              which this device is known.

       Files  An array (list) of device (block, special) files by
              which this device might be addressed.

       Type   A  numeric  value which classes the type of device.
              Valid  numeric  values  are  defined  by  the  DT_*
              entries in <mcsysinfo.h>.

       ClassType
              This  value defines a classification of this device
              within it's Type.  The valid values  for  ClassType
              are specified by the CT_* entries in <mcsysinfo.h>.
              e.g. A SCSI  disk  device  would  have  a  Type  of
              DT_DISK and a ClassType value of CT_SCSI .

       Vendor The  name  of  the  vendor who sold or manufactured
              this device.

       Model  The model name of the device.

       ModelDesc
              A further description of the model which varies  by
              device and operating system.

       Serial The devices serial number.

       Revision
              The revision of the device.

       DescList
              A  list of descriptive information that is not oth­
              erwise specified in DevInfo_t.   This  list  varies
              greatly  by  operating system and specific hardware
              platforms and models.  There is no  guarentee  that
              the  DescList information will remain constant from
              model to model, even on  the  same  version  of  an
              operating system.

       Unit   The device's unit number.  This is usually, but not

       Slaves A pointer to a list of any  slave  (child)  devices
              which belong to this device.

       Next   A  pointer  to any sibling devices which all belong
              to the same Master.

       DevSpec
              The address to a buffer containing information spe­
              cific  to  the  device Type .  The following device
              Type values normally provide data via DevSpec :

              DT_CPU Pointer to a CpuInfo_t entry (see below).

              DT_DISK
                     Pointer to a DiskDrive_t entry.

              DT_FRAMEBUFFER
                     Pointer to a FrameBuffer_t entry.

              DT_NETIF
                     Pointer to a NetIF_t entry.

              DT_MONITOR
                     Pointer to a Monitor_t entry.

       Addr   This value is obsolete.

       Prio   This value is obsolete.

       Vec    This value is obsolete.

   CpuInfo_t
       The CpuInfo_t type specifies CPU information.  It is  usu­
       ally  available  via DevInfo_t.DevSpec when DevInfo_t.Type
       is set to DT_CPU.  The definetion of CpuInfo_t is:

              struct _CpuInfo {
                  char              *Man;        /* Manufacturer */
                  char              *Model;      /* Model of CPU */
                  char              *Arch;       /* Architecture Name */
                  char              *ArchVer;    /* Architecture Version */
                  char              *Serial;          /* Serial# */
                  int                  BitSize;  /* Bits 32/64/... */
                  Large_t              Speed;         /* Clock Speed in Mhz */
                  /* L1 Instruction Cache */
                  Large_t              L1iCacheSize;  /* L1 Inst Cache in bytes */
                  int                  L1iAssoc; /* L1 Inst Associativity */
                  int                  L1iLines; /* L1 Inst # Lines */
                  int                  L1iLineSize;   /* L1 Inst Line Size (bytes)*/
                  int                  InstTLB;  /* # Inst TLB Entries */
                  int                  InstTLBAssoc;  /* # Inst TLB Associativity */
                  int                  Stepping; /* Stepping */
                  Desc_t                 *Features;   /* List of features */
              };
              typedef struct _CpuInfo       CpuInfo_t;



       The members of CpuInfo_t are defined as follows:

       Man    The name of the manufacturer of the CPU.

       Model  The model of CPU.

       Arch   The architecture of the CPU.

       ArchVer
              The architecture version of the CPU.

       Serial The serial number of the CPU.

       BitSize
              The addressable bitsize of the CPU.  e.g.  32 or 64

       Speed  The clock speed of the CPU in mega-hertz.

       L1iCacheSize
              The L1 instruction cache size in bytes.

       L1iAssoc
              The L1 instruction cache associativity.

       L1iLines
              The number of L1 instruction cache lines.

       L1iLineSize
              The size of each L1 instruction cache line.

       InstTLB
              The number of instruciton cache TLB entries.

       InstTLBAssoc
              The  number of instruction cache TLB associativity.

       L1dCacheSize
              The L1 data cache size in bytes.

       L1dAssoc
              The L1 data cache associativity.

       L1dLines
              The number of L1 data cache lines.

              The L2 cache associativity.

       L2Lines
              The number of L2 cache lines.

       HasFPU Boolean value  indicating  where  the  CPU  has  an
              onboard Floating Point Unit.

       Stepping
              The CPU's stepping value.

       Features
              A list of otherwise unstructured features supported
              by the CPU.



SoftInfo_t

       The software information data type is SoftInfo_t which  is
       defined as:

              struct _SoftInfo {
                  char         *EntryType;  /* Entry Type MC_SET_*_S */
                  int             EntryTypeNum;  /* Numeric EntryType */
                  char         *Name;       /* Name */
                  char         *Version;    /* Version */
                  char         *Revision;   /* Revision for this Version */
                  char         *Desc;       /* Description of software */
                  char         *DescVerbose;     /* Verbose Description */
                  char         *URL;        /* Product URL */
                  char         *License;    /* Product License */
                  char         *Copyright;  /* Product Copyright */
                  char         *Category;   /* Category pkg belongs to */
                  char         *SubCategory;     /* Sub Category */
                  char         *OSname;          /* OS name runs on */
                  char         *OSversion;  /* OS version runs on */
                  char         *Arch;       /* Architecture runs on */
                  char         *ISArch;          /* Instruct. Set Arch. */
                  char         *InstDate;   /* Installation Date */
                  char         *BuildDate;  /* Build Date */
                  char         *ProdStamp;  /* Production Stamp */
                  char         *BaseDir;    /* Base Dir for files */
                  Large_t         DiskUsage;     /* Space used by FileList */
                  SoftFileList_t     *FileList;  /* List of Files */
                  Desc_t            *DescList;   /* Misc Descriptions */
                  /* Vendor's info */
                  char         *VendorName; /* Name of vendor */
                  char         *VendorEmail;     /* Email of vendor */
                  char         *VendorPhone;     /* Phone of vendor */
                  char         *VendorStock;     /* Vendor's Stock # for Pkg */
                  /* Tree Links */
                  struct _SoftInfo   *Master;         /* (Up) Our parent */
                  struct _SoftInfo   *Slaves;         /* (Down) Children */

              MC_SET_PKG_S
                     Package - this entry represents a collection
                     of installed files/directories.  This is the
                     lowest level EntryType.

              MC_SET_PROD_S
                     Product - this entry represents a collection
                     of  packages  (MC_SET_PKG_S).   It  normally
                     acts as a parent node in a hierarchical tree
                     of software packages and  usually  does  not
                     include any attributes other than Slaves and
                     Next .


       EntryTypeNum
              The corresponding numeric value for EntryType.  The
              following constants are valid values:


              MC_SET_PKG
                     Numeric value for MC_SET_PKG_S.

              MC_SET_PROD
                     Numeric value for MC_SET_PROD_S.


       Name   A  string which describes the package (if EntryType
              == MC_SET_PKG ) or the  product  (if  EntryType  ==
              MC_SET_PROD ).  e.g.  SUNWcsr

       Version
              A  string which indicates the version of this pack­
              age or product.  e.g.  5.1

       Revision
              A string indicatating the revision of this package.
              e.g.  2000-02-03

       Desc   A  short string without any newline (\n) characters
              which provides a description of this package.  e.g.
              Core Required Files

       DescVerbose
              A verbose string, usually containing multiple lines
              (\n), The core files in this package  are  required
              by all other packages.

       URL    A  Universal  Resource Locatator (URL) for locating
              more information about  this  package  or  product.
              e.g.  http://www.sun.com/solaris


       SubCategory
              A  string  describing the secondary category, often
              within  Category,  that  this  package  or  product
              belongs to.  e.g.  openwindows

       OSname A  string containing the name of the operating sys­
              tem this package runs on.  e.g.  Linux

       OSversion
              A string containing the version  of  the  operating
              system this package runs on.  e.g.  2.2.1

       Arch   A  string  naming  the  CPU architecture which this
              package runs on.  e.g.  x86

       ISArch A string naming the  Instruction  Set  Architecture
              which this package runs on.  The ISA usually repre­
              sents a more specific value than Arch.  e.g.   Pen­
              tium-III

       InstDate
              A  string  containing  the  date  this  package was
              installed.  e.g.  Feb 02 1999 20:43

       BuildDate
              A string  containing  the  date  this  package  was
              built.  e.g.  1/15/98

       ProdStamp
              A  string  generated  whent he package was built to
              identify the production of the package.  e.g.  but­
              tercup19980904173114

       BaseDir
              A  string  naming  the  base  directory under which
              package files are installed.  e.g.  /usr

       DiskUsage
              The number of bytes of  disk  space  the  installed
              package consumes.

       DescList
              A linked list of miscellaneous descriptions for any
              other information which is not categorized.

       VendorName
              The name of the vendor who created  or  distributes
              the package.

       VendorEmail
              The vendor's email address.

       FileList
              A list of files associated with this package.   See
              SoftFileList_t for more information.


SoftFileList_t

       The  SoftFileList_t type defines software file information
       usually in a linked list.  It is defined as follows:

              /*
               * Software File Data
               */
              struct _SoftFileData {
                  int             Type;          /* File, dir, symlink, etc */
                  char         *Path;       /* Path to file */
                  char         *LinkTo;          /* Link To what */
                  Large_t         FileSize; /* Size of file */
                  char         *MD5;        /* MD5 checksum */
                  char         *CheckSum;   /* Platform specific checksum */
                  char        **PkgNames;   /* List of used by Pkgs */
                  struct _SoftFileData *Next;         /* Next entry */
              };
              typedef struct _SoftFileData SoftFileData_t;

              /*
               * List of SoftFileData_t entries
               */
              struct _SoftFileList {
                  SoftFileData_t     *FileData;  /* Ptr to FileData entry */
                  struct _SoftFileList *Next;         /* Next entry in our list */
              };
              typedef struct _SoftFileList SoftFileList_t;
              /*
               * SoftFile Types for SoftFileData.Type
               */
              #define SFT_FILE    1         /* Plain file */
              #define SFT_FILE_S  "File"
              #define SFT_HLINK   2         /* Hard Link */
              #define SFT_HLINK_S "Hard-Link"
              #define SFT_SLINK   3         /* Soft Link */
              #define SFT_SLINK_S "Symbolic-Link"
              #define SFT_DIR          4         /* Directory */
              #define SFT_DIR_S   "Directory"
              #define SFT_CDEV    5         /* Device File */
              #define SFT_CDEV_S  "Character-Device"
              #define SFT_BDEV    6         /* Device File */
              #define SFT_BDEV_S  "Block-Device"



       The list of files associated with a package is defined  by
       the  SoftFileList_t type.  The actual file data is defined
       in SoftFileList_t->FileData.
                     A symbolic link.

              SFT_DIR
                     A directory.

              SFT_CDEV
                     A character special device file.

              SFT_BDEV
                     A block special device file.

       Path   The pathname of this entry.  e.g.  /bin/cp

       LinkTo If  Type  is SFT_HLINK or SFT_SLINK then this vari­
              able names the path that Path is linked to.

       FileSize
              The size of this file.  Usually only valid if  Type
              is SFT_FILE.

       MD5    The MD5 checksum of the file.

       CheckSum
              The platform specific checksum of the file.

       PkgNames
              A list of package names this file belongs to.


PartInfo_t

       The PartInfo_t type defined a partition entry as follows:

              /*
               * Partition Information (CN_PARTITION)
               */
              struct _PartInfo {
                  char         *Title;      /* Describes this entry */
                  char         *DevPath;    /* Dev Path e.g. /dev/dsk/c0t0s1 */
                  char         *DevPathRaw; /* Raw Dev Path e.g. /dev/rdsk/c0t0s1 */
                  char         *DevName;    /* Dev Name e.g. c0t0 */
                  char         *BaseName;   /* c0t0s1 */
                  char         *Name;       /* Name e.g. s1 */
                  int             Num;      /* Part # for this disk e.g. 1 */
                  char         *Type;       /* Type e.g. ufs */
                  char         *TypeDesc;   /* Description of Type */
                  u_int      TypeNum;  /* Numeric value of Type if any */
                  char         *UsageStatus;     /* String value for Usage (below) */
                  char         *MntName;    /* Mount Name e.g. /usr */
                  char        **MntOpts;    /* Mount Options e.g. rw,quota */
                  Large_t         Size;          /* Size of partition (MB) */
                  Large_t         AmtUsed;  /* Amt of space currently used (MB)*/
                  int             SecSize;  /* Size of 1 sector */
                  Large_t         StartSect;     /* Starting Sector # */

              device  which  represents  this  partition.    e.g.
              /dev/dsk/c0t0d0s3

       DevPathRaw
              A string which names the pathname of the raw (char­
              acter)  device  which  represents  this  partition.
              e.g.  /dev/rdsk/c0t0d0s3

       DevName
              A  string  containing  the  kernel's  name for this
              device.  e.g.  sd0

       BaseName
              The base name of DevPath.  e.g.  c0t0d0s3

       Name   Name of the parititon e.g.  s3

       Num    The numeric number of this partition  which  corre­
              sponds to Name.  e.g.  3

       Type   A  short  string, usually a single word, describing
              the type of partition this is.  e.g.  ufs

       TypeDesc
              A more verbose description of the parititoin  type.
              e.g.  Unix File System

       TypeNum
              The  numeric  type  identifier of this partition as
              described by Type and TypeDesc.

       UsageStatus
              A string containing information on how this  parti­
              tion  is  used.   e.g.   For  a UFS filesystem this
              would contain a mount point such as /usr

       MntName
              The name of the mount point.  e.g.  /usr

       MntOpts
              An array of strings containing the options used  by
              the  OS  to  mount  this partition.  e.g.  rw quota
              logging

       Size   The total size, in MB, of this partition.

       AmtUsed
              The amount of space, in  MB,  this  partition  cur­
              rently consumes.

       SecSize
              The number of bytes in 1 sector (usually 512).

       Upon successful completion, mcSysInfo() returns 0 and out­
       put  data  is available in the buffer indicated by the Out
       parameter.  Upon error, mcSysInfo() returns -1.


NOTES

       File descriptors are opened for  certain  MCSI_*  commands
       when  using  the MCSIOP_CREATE operator depending upon the
       platform upon which mcSysInfo() is operating on.  All file
       descriptors  which  are  opened  by  the platform specific
       functions of mcSysInfo() are closed before returning.


FILES

       /usr/local/sysinfo/config - Config files read at runtime


SEE ALSO

       sysinfo.1 sysinfo.cf.5



                          26 March 2001                         1