home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
kernex32.zip
/
mwdd_src.zip
/
32bits
/
ext2-os2
/
skeleton
/
ifs
/
fs32_findnext.c
< prev
next >
Wrap
Text File
|
1997-04-04
|
2KB
|
73 lines
//
// $Header: D:/32bits/ext2-os2/skeleton/ifs/rcs/fs32_findnext.c,v 1.3 1997/03/16 13:01:55 Willm Exp Willm $
//
// 32 bits OS/2 device driver and IFS support. Provides 32 bits kernel
// services (DevHelp) and utility functions to 32 bits OS/2 ring 0 code
// (device drivers and installable file system drivers).
// Copyright (C) 1995, 1996, 1997 Matthieu WILLM (willm@ibm.net)
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#ifdef __IBMC__
#pragma strings(readonly)
#endif
#define INCL_DOS
#define INCL_DOSERRORS
#define INCL_NOPMAPI
#include <os2.h>
#include <os2/types.h>
#include <os2/StackToFlat.h>
#include <os2/fsd32.h>
#include <os2/devhlp32.h>
/*
* struct fs32_findnext_parms {
* unsigned short flags;
* unsigned short level;
* PTR16 pcMatch;
* unsigned short cbData;
* PTR16 pData;
* PTR16 pfsfsd;
* PTR16 pfsfsi;
* };
*/
int FS32ENTRY fs32_findnext(struct fs32_findnext_parms *parms) {
struct fsfsi32 *pfsfsi;
struct fsfsd32 *pfsfsd;
char *pData;
unsigned short *pcMatch;
int rc;
if ((rc = DevHlp32_VirtToLin(parms->pfsfsi, __StackToFlat(&pfsfsi))) == NO_ERROR) {
if ((rc = DevHlp32_VirtToLin(parms->pfsfsd, __StackToFlat(&pfsfsd))) == NO_ERROR) {
if ((rc = DevHlp32_VirtToLin(parms->pData, __StackToFlat(&pData))) == NO_ERROR) {
if ((rc = DevHlp32_VirtToLin(parms->pcMatch, __StackToFlat(&pcMatch))) == NO_ERROR) {
/*
* Insert your code here ...
*/
rc = ERROR_NOT_SUPPORTED;
}
}
}
}
return rc;
}