bjh 99/10/11 07:18:57
Modified: src/lib/apr/file_io/os2 fileacc.c Log: OS/2: implement ap_get_filetype() Revision Changes Path 1.4 +34 -0 apache-2.0/src/lib/apr/file_io/os2/fileacc.c Index: fileacc.c =================================================================== RCS file: /home/cvs/apache-2.0/src/lib/apr/file_io/os2/fileacc.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- fileacc.c 1999/10/06 23:03:42 1.3 +++ fileacc.c 1999/10/11 14:18:56 1.4 @@ -186,3 +186,37 @@ } } + + +ap_status_t ap_get_filetype(ap_filetype_e *type, struct file_t *file) +{ + ULONG rc, filetype, fileattr; + + if (file != NULL && file->isopen) { + rc = DosQueryHType( file->filedes, &filetype, &fileattr ); + + if (rc) + return os2errno(rc); + + switch (filetype & 0xff) { + case 0: + *type = APR_REG; + break; + + case 1: + *type = APR_CHR; + break; + + case 2: + *type = APR_PIPE; + break; + } + + return APR_SUCCESS; + } + else { + *type = APR_REG; + return APR_ENOFILE; + } +} +