Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ dg_file_info(2) — DG/UX 4.30

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

dg_process_info(2)



     dgfileinfo(2)            DG/UX 4.30             dgfileinfo(2)



     NAME
          dg_file_info - return file usage information for a process
          identified by a process key

     SYNOPSIS
          #include <dg_file_info.h>

          int    dg_file_info (process_key,
                               descriptor_ptr,
                               file_info_buffer_size_ptr,
                               file_info_buffer_ptr,
                               version)
          long                   process_key;
          long   *               descriptor_ptr;
          long   *               file_info_buffer_size_ptr;
          struct dg_file_info *  file_info_buffer_ptr;
          long                   version;

     PARAMETERS
          process_key    The key obtained from a previous
                         dgprocessinfo call.  It is used to identify
                         the process of interest.

          descriptor_ptr Indicates the type of file usage information
                         to return.

          file_info_buffer_size_ptr
                         On input, specifies the maximum number of
                         "file info" structures to be returned.  On
                         output, specifies the number of "file info"
                         structures returned.

          file_info_buffer_ptr
                         A pointer to an area of least
                         <*file_info_buffer_size_ptr> * sizeof (struct
                         dg_file_info) bytes.  The area you pass a
                         pointer to can be as large as you want.
                         Information about files is put here.

          version        Set to DG_FILE_INFO_VERSION. If version is
                         not this, no information will be returned.

     DESCRIPTION
          <Version> specifies the version of information the user is
          interested in. DG_FILE_INFO_VERSION always means the
          "current version".  <Process_key> indicates a process whose
          file information is to be returned.  <*Descriptor_ptr>
          indicates the starting point for a linear search through the
          following objects:

          ⊕    Process's descriptor table




     Licensed material--property of copyright holder(s)         Page 1





     dgfileinfo(2)            DG/UX 4.30             dgfileinfo(2)



          ⊕    Process's current working directory

          ⊕    Process's current root directory

          ⊕    File currently being executed by the process.

          Information about up to <*file_info_buffer_size_ptr>
          entities is returned in the area indicated by
          <file_info_buffer_ptr>.  <*file_info_buffer_size_ptr> is set
          to indicate the number of entities for which information is
          returned.

          Always, information about the first
          <*file_info_buffer_size_ptr> active entities is returned.

          The data is put into the buffer as a series of dg_file_info
          structures.  The "file_info" structure is defined as:

                struct dg_file_info {
                        int     version;
                        int     descriptor;
                        struct stat stat_pkt;
                };

          The <version> field indicates the version and, therefore,
          the format of the information that follows.  The
          <descriptor> field indicates the object the stat information
          refers to. If <descriptor> is DG_FILE_INFO_CWD, the stat
          information refers to the process's current working
          directory.  If <descriptor> is DG_FILE_INFO_ROOT_DIR, the
          stat information refers to the process's current root
          directory.  If <descriptor> is DG_FILE_INFO_COMMAND, the
          stat information refers to the file currently being executed
          by the process.  Otherwise, <descriptor> is a descriptor
          currently active in the process indicated by <process_key>.
          Only the first <*file_buffer_size_ptr> entries contain valid
          information.

          Upon return, the actual number of file_info structures put
          into the area pointed to by <file_info_buffer_ptr> is
          returned in <*file_info_buffer_size_ptr>.  <*Descriptor_ptr>
          is set to the starting point for the next dg_file_info_call.
          If <*descriptor_ptr> is -1, there are no more entities for
          which information can be returned.

     ACCESS CONTROL
          No access control is provided.

     RETURN VALUE
          0              Successful completion.

          -1             An error occurred. Errno is set to indicate



     Licensed material--property of copyright holder(s)         Page 2





     dgfileinfo(2)            DG/UX 4.30             dgfileinfo(2)



                         the error.

     EXCEPTIONS
          Errno may be set to one of the following error codes:

          EFAULT         Either <file_info_buffer_size_ptr>,
                         <descriptor_ptr> or <file_info_buffer_ptr>
                         points to an invalid address.

          EINVAL         <version> requested is not supported.

          EINVAL         <*descriptor_ptr> is not one of the
                         following:  DG_FILE_INFO_CWD,
                         DG_FILE_INFO_ROOT_DIR, DG_FILE_INFO_COMMAND,
                         or 0 through NOFILE-1 inclusive.

     SEE ALSO
          dg_process_info(2).





































     Licensed material--property of copyright holder(s)         Page 3



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