Previous Page | Next Page

Functions and CALL Routines under z/OS

DINFO Function: z/OS



Returns information about a directory.
Category: External Files
z/OS specifics: info-item
See: DINFO Function in SAS Language Reference: Dictionary

Syntax
Details
Example 1: UNIX File System (UFS) Directory Information
Example 2: PDSE Directory Information
Example 3: PDS Directory Information
See Also

Syntax

DINFO(directory-id, info-item)

directory-id

specifies the identifier that was assigned when the directory was opened, generally by the DOPEN function.

info-item

specifies the information item to be retrieved. DINFO returns a blank if the value of the info-item argument is invalid. The information available varies according to the operating environment. The info-item argument is a character value.


Details

Directories that are opened with the DOPEN function are identified by a directory-id and have a number of associated information items. Use DOPTNAME to determine the names of the available system-dependent directory information items. Use DOPTNUM to determine the number of directory information items available.

The DINFO, DOPTNAME, and DOPTNUM functions support the following directory information items under z/OS.

Directory Information Items for UNIX File System (UFS) Directories
Item Item Identifier Definition
1 Filename Directory name
2 Access Permission Read, write, and execute permissions for owner, group, and other
3 Number of Links Number of links in the directory
4 Owner Name User ID of the owner
5 Group Name Name of the owner's access group
6 Filesize File size
7 Last Modified Date contents last modified

Directory Information Items for PDSs
Item Item Identifier Definition
1 Dsname PDS name
2 Unit Disk type
3 Volume Volume on which data set resides
4 Disp Disposition
5 Blksize Block size
6 Lrecl Record length
7 Recfm Record format

Directory Information Items for PDSEs
Item Item Identifier Definition
1 Dsname PDSE name
2 Dsntype Directory type
3 Unit Disk type
4 Volume Volume on which data set resides
5 Disp Disposition
6 Blksize Block size
7 Lrecl Record length
8 Recfm Record format


Example 1: UNIX File System (UFS) Directory Information

This example generates output that includes information item names and values for a UFS directory:

data _null_;
   length opt $100 optval $100;

   /* Allocate directory */
   rc=FILENAME('mydir', '/u/userid');
   
   /* Open directory */
   dirid=DOPEN('mydir');

   /* Get number of information items */
   infocnt=DOPTNUM(dirid);

   /* Retrieve information items and */
   /* print to log                   */
   put @1 'Information for a UNIX 
      File System Directory:';
   do j=1 to infocnt;
      opt=DOPTNAME(dirid,j);
      optval=DINFO(dirid,upcase(opt));
      put @1 opt @20 optval;
   end;

   /* Close the directory */
   rc=DCLOSE(dirid);

   /* Deallocate the directory */
   rc=FILENAME('mydir');
run;

UFS Directory Information

Information for a UNIX System
   Services Directory:
Directory Name          /u/userid
Access Permission  drwxr-xr-x
Number of Links    17
Owner Name         MYUSER
Group Name         GRP
Last Modified      Apr 26 07:18
Created            Jan 9 2007

NOTE: The DATA statement used 0.09
   CPU seconds and 5203K.

Example 2: PDSE Directory Information

This example generates directory information for a PDSE:

data _null_;
   length opt $100 optval $100;

   /* Allocate directory */
   rc=FILENAME('mydir', 'userid.pdse.src');
   
   /* Open directory */
   dirid=DOPEN('mydir');

   /* Get number of information items */
   infocnt=DOPTNUM(dirid);

   /* Retrieve information items and */
   /* print to log                   */
   put @1 'Information for a PDSE:';
   do j=1 to infocnt;
      opt=DOPTNAME(dirid,j);
      optval=DINFO(dirid,upcase(opt));
      put @1 opt @20 optval;
   end;

   /* Close the directory */
   rc=DCLOSE(dirid);

   /* Deallocate the directory */
   rc=FILENAME('mydir');
run;

PDSE Directory Information

Information for a PDSE:
Dsname             USERID.PDSE.SRC
Dsntype            PDSE
Unit               3380
Volume             ABC002
Disp               SHR
Blksize            260
Lrecl              254
Recfm              VB
Creation           2005/10/03

NOTE: The DATA statement used 0.08 
   CPU seconds and 5203K.

Example 3: PDS Directory Information

This example generates information item names and values for a PDS:

data _null_;
   length opt $100 optval $100;

   /* Allocate directory */
   rc=FILENAME('mydir', 'userid.mail.text');
   
   /* Open directory */
   dirid=DOPEN('mydir');

   /* Get number of information items */
   infocnt=DOPTNUM(dirid);

   /* Retrieve information items and */
   /* print to log                   */
   put @1 'Information for a PDS:';
   do j=1 to infocnt;
      opt=DOPTNAME(dirid,j);
      optval=DINFO(dirid,upcase(opt));
      put @1 opt @20 optval;
   end;

   /* Close the directory */
   rc=DCLOSE(dirid);

   /* Deallocate the directory */
   rc=FILENAME('mydir');
run;

PDS Directory Information

Information for a PDS:
Dsname             USERID.MAIL.TEXT
Unit               3380
Volume             ABC005
Disp               SHR
Blksize            6160
Lrecl              80
Recfm              FB
Creation           2005/10/03


NOTE: The DATA statement used 0.07
   CPU seconds and 5211K.

See Also

Previous Page | Next Page | Top of Page