The first example obtains information about the file "STARTUP.CMD." The second example obtains information about the directory "SYSTEM."
#define INCL_DOSFILEMGR /* File Manager values */
#define INCL_DOSERRORS /* DOS error values */
#include <os2.h>
#include <stdio.h>
int main(VOID) {
UCHAR uchFileName[80] = "C:\\STARTUP.CMD"; /* File to manipulate */
FILESTATUS3 fsts3ConfigInfo = {{0}}; /* Buffer for file information */
ULONG ulBufSize = sizeof(FILESTATUS3); /* Size of above buffer */
APIRET rc = NO_ERROR; /* Return code */
rc = DosQueryPathInfo(uchFileName, /* Path and name of file */
FIL_STANDARD, /* Request standard (Level 1) info */
&fsts3ConfigInfo, /* Buffer for file information */
ulBufSize); /* Size of buffer */
if (rc != NO_ERROR) {
printf("DosQueryPathInfo error: return code = %u\n", rc);
return 1;
}
printf("%s --- File size: %u bytes\n",uchFileName, fsts3ConfigInfo.cbFile);
printf("Last updated: %d/%d/%d; %d:%2.2d\n",
fsts3ConfigInfo.fdateLastWrite.month, /* Month */
fsts3ConfigInfo.fdateLastWrite.day, /* Day */
(fsts3ConfigInfo.fdateLastWrite.year+1980L), /* Years since 1980 */
fsts3ConfigInfo.ftimeLastWrite.hours, /* Hours */
fsts3ConfigInfo.ftimeLastWrite.minutes); /* Minutes */
return NO_ERROR;
}
#define INCL_DOSFILEMGR /* File Manager values */
#define INCL_DOSERRORS /* DOS error values */
#include <os2.h>
#include <stdio.h>
int main(VOID) {
UCHAR uchPathName[255] = "C:\\OS2\\SYSTEM"; /* Path of interest */
FILESTATUS3 fsts3ConfigInfo = {{0}}; /* Buffer for path information */
ULONG ulBufSize = sizeof(FILESTATUS3); /* Size of above buffer */
APIRET rc = NO_ERROR; /* Return code */
rc = DosQueryPathInfo(uchPathName, /* Name of path */
FIL_STANDARD, /* Request standard (Level 1) info */
&fsts3ConfigInfo, /* Buffer for information */
ulBufSize); /* Size of buffer */
if (rc != NO_ERROR) {
printf("DosQueryPathInfo error: return code = %u\n", rc);
return 1;
}
printf("Information for subdirectory: %s:\n",uchPathName);
printf("Last updated: %d/%d/%d; %d:%2.2d\n",
fsts3ConfigInfo.fdateLastWrite.month, /* Month */
fsts3ConfigInfo.fdateLastWrite.day, /* Day */
(fsts3ConfigInfo.fdateLastWrite.year+1980L), /* Years since 1980 */
fsts3ConfigInfo.ftimeLastWrite.hours, /* Hours */
fsts3ConfigInfo.ftimeLastWrite.minutes); /* Minutes */
return NO_ERROR;
}