|
Mike Schlemme wrote:
>I am trying to find a API to give me the same information as doing the
>following:
>
>1. WRKLNK
>2. Option 8 (Display Attributes) on any item in the list
>
>I'm mainly interested in object owner and object size.
I'm not familiar with Bruce's suggestion of Get Attributes (Qp0lGetAttr). I
use the C function stat(). Compile with BNDDIR(QC2LE). The RPG IV redbook
probably has a better example...
* File stats
* #include <sys/stat.h>
*
* int stat(const char *path, struct stat *buf);
*
Dstat pr 10i 0 extproc('stat')
D * value
D * value
* Returned file status structure
* struct stat {
* unsigned int st_mode; /* File mode
* unsigned int st_ino; /* File serial number
* unsigned short st_nlink; /* Number of links
* unsigned int st_uid; /* User ID of the owner of file
* unsigned int st_gid; /* Group ID of the group of file
* int st_size; /* For regular files, the file
* size in bytes
* long int st_atime; /* Time of last access
* long int st_mtime; /* Time of last data modification
* long int st_ctime; /* Time of last file status change
* unsigned int st_dev; /* ID of device containing file
* unsigned int st_blksize; /* Size of a block of the file
* unsigned long st_allocsize; /* Allocation size of the file
* char[11] st_objtype; /* AS/400 object type
* unsigned short st_codepage; /* Object data codepage
* char st_reserved1[62]; /* Reserved
* unsigned int st_ino_gen_id; /* File serial number generation id
* };
*
* The OVERLAY is needed to align for the halfword st_nlink
Dinfo DS inz
D st_mode 10U 0
D st_ino 10U 0
D st_nlink 5U 0
D st_res 5U 0
D st_uid 10U 0
D st_gid 10U 0
D st_size 10U 0
D st_atime 10U 0
D st_mtime 10U 0
D st_ctime 10U 0
D st_dev 10U 0
D st_blksize 10U 0
D st_alloc 10U 0
D st_objtype 10A
D st_cp 5U 0
D st_res1 61A
D st_ino_gi 10U 0
Drc s 10I 0 inz
DNULL s 1 inz(x'00')
Ddir_full s 64 inz
C* Build a full path/file name (with null termination)
C eval dir_full=%trim(dirnameSV) +
C '/' + %trim(filename) + NULL
C* See if it's really a file or not
C eval rc=stat(full_fn:%addr(info))
C If rc<>0
Buck Calabro
Aptis; Albany, NY
+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.