Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ mas_type(3mas) — UnixWare 2.01

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

mas(3mas)






       mas_type(3mas)                                        mas_type(3mas)


       NAME
             mas_type - MAS type-specific functions for manipulating
             metadata

       SYNOPSIS
             cc [options] file -lmas
             #include <mas.h>
             int mas_id_cmp(metid_t *idp, metid_t id);
             int mas_id_cp(metid_t *idp, metid_t id);
             int mas_resource_cmp(resource_t *resourcep, resource_t resource);
             int mas_resource_cp(resource_t *resourcep, resource_t resource);
             int mas_units_cmp(units_t *unitsp, units_t units);
             int mas_units_cp(units_t *unitsp, units_t units);
             int mas_name_cmp(name_t namep1, name_t namep2);
             int mas_name_size(name_t namep);
             int mas_name_cp(name_t namep1, name_t namep2);
             int mas_name_len(name_t namep);
             int mas_magic_sanity(uint32 magic);
             int mas_mrt_head_sanity(struct mrt_head *mrt_head);
             int mas_resource_sanity(int md, resource_t resource);
             int mas_bpw_sanity(uint32 bpw);
             int mas_byteorder_sanity(uint32 byte_order);
             int mas_mas_head_sz_sanity(uint32 mas_head_sz);
             int mas_id_sanity(metid_t id);
             int mas_units_sanity(units_t units);
             int mas_access_sanity(uint32 access_methods);
             int mas_status_sanity(uint32 status);
             int mas_set_status(uint32 *status, uint32 flags);
             int mas_clr_status(uint32 *status, uint32 flags);

       DESCRIPTION
             The mas_type functions allow the manipulation of metadata
             objects.  Since the format of metadata is system dependent,
             these functions are kept separately in MAS to allow easy
             porting and upgrade.  For portability, applications that need
             to process metadata directly should use these functions.

             The mas_type functions fall into several classes:

             comparative functions:
                   mas_id_cmp, mas_resource_cmp, mas_units_cmp,
                   mas_name_cmp

             copy functions:
                   mas_id_cp, mas_resource_cp, mas_units_cp, mas_name_cp



                           Copyright 1994 Novell, Inc.               Page 1













      mas_type(3mas)                                        mas_type(3mas)


            size functions:
                  mas_name_size, mas_name_len

            sanity tests:
                  mas_magic_sanity, mas_mrt_head_sanity,
                  mas_access_sanity, mas_resource_sanity,
                  mas_byteorder_sanity, mas_id_sanity,
                  mas_mas_head_sz_sanity, mas_units_sanity,
                  mas_bpw_sanity, mas_status_sanity

            status functions:
                  mas_set_status, mas_clr_status

            The comparative functions compare the value of the second
            argument to the contents of the location pointed to by the
            first argument.  The comparative functions return if the
            values are the same and 1 if they differ.

            The copy functions copy the value of the second argument to
            the location pointed to by the first argument.

            The size functions return the amount of storage, in bytes,
            needed to save a string, and the length of the string in
            characters.

            The sanity tests return 0 if the argument passes the sanity
            check, and -1 on failure, with mas_errno set to identify the
            error.

            The status functions set and clear bits from the MAS header
            status word and the status words in the metric registration
            table.

         Return Values
            On success, the mas_type functions return a non-negative
            value.  On failure, the mas_type functions return -1 and set
            mas_errno to identify the error.  The meaning of the return
            value depends on the function invoked:
           Functions               Return Values
           ________________________________________________________________
           comparative functions   0 if the objects match
                                   1 if the objects differ
                                   -1 on NULL pointer failure
           copy functions          0 on successful copy




                          Copyright 1994 Novell, Inc.               Page 2













       mas_type(3mas)                                        mas_type(3mas)


                                    -1 on NULL pointer failure
            mas_name_size           number of bytes needed to store the name
                                    -1 on NULL pointer failure
            mas_name_len            length of the name (in bytes)
                                    -1 on NULL pointer failure
            sanity checks           0 if the object is sane
                                    -1 if the object is invalid
            mas_set_status          0 on successful setting of status
                                    -1 on NULL pointer failure
            mas_clr_status          0 on successful clearing of status
                                    -1 on NULL pointer failure

          Errors
             MAS_INVALIDARG - NULL pointer passed
                   A null pointer was passed to a mas_type function.

             MAS_SANITY - bad magic
                   mas_magic_sanity detected an invalid magic number in the
                   metric registration file.

             MAS_SANITY - invalid mrt size
                   mas_mrt_head_sanity detected the size field in the MAS
                   header for the metric registration header does not match
                   the size of the metric registration table header
                   structure.

             MAS_SANITY - invalid id size
                   mas_mrt_head_sanity detected the size field for the size
                   of a metric ID does not match the size of a metric id.

             MAS_SANITY - invalid units size
                   mas_mrt_head_sanity detected the size field for the size
                   of a metric units does not match the size of a units
                   field.

             MAS_SANITY - invalid resource size
                   mas_mrt_head_sanity detected the size field for the size
                   of a resource does not match the size of a resource
                   field.

             MAS_SANITY - too many metrics
                   mas_mrt_head_sanity detected the number of metrics is
                   greater than MAS_MAX_METS.  MAS_MAX_METS is currently
                   set to 2048.




                           Copyright 1994 Novell, Inc.               Page 3













      mas_type(3mas)                                        mas_type(3mas)


            MAS_SANITY - bad wordsize
                  Either mas_mrt_bpw_sanity or mas_mrt_byteorder_sanity
                  detected an unsupported word size.

            MAS_SANITY - access methods mismatch
                  mas_access_sanity detected unsupported access methods.

            MAS_SANITY - bad status word
                  mas_status_sanity detected an invalid status word in
                  either the MAS header or a metric registration table
                  entry.

            MAS_SANITY - invalid size word
                  mas_mas_head_sz_sanity detected the size field for the
                  size of the MAS header does not match the size of the
                  MAS header struct.

            MAS_SANITY - id number fails sanity check
                  mas_id_sanity detected an invalid ID number.

            MAS_SANITY - units field fails sanity check
                  mas_units_sanity detected an invalid units field.

            MAS_SANITY - empty metric registration table
                  mas_resource_sanity detected the metric registration
                  table contains no registered metrics.

            MAS_SANITY - resource fails sanity check
                  mas_resource_sanity detected an invalid resource.

      REFERENCES
            mas(3mas)
















                          Copyright 1994 Novell, Inc.               Page 4








Typewritten Software • bear@typewritten.org • Edmonds, WA 98026