source: branches/client-3.0/src/h/ndextpl2.h@ 942

Last change on this file since 942 was 9, checked in by Yuri Dario, 18 years ago

Build plugin and daemon with gcc, closes ticket:7.

  • Property svn:eol-style set to native
File size: 19.5 KB
Line 
1/*
2 * NetDrive for OS/2 External Plugin's level 2 header file.
3 *
4 * (C) COPYRIGHT Blueprint Software Works, Inc. 1999-2004.
5 * ALL RIGHTS RESERVED.
6 */
7
8#ifndef __EXTPL2__H
9#define __EXTPL2__H
10
11#include <ndfs.h>
12
13#ifdef __cplusplus
14 extern "C" {
15#endif
16
17#pragma pack(1)
18
19/* Plugin attributes */
20#define NDPA_REUSE_FILE_CONNECTIONS (0x1)
21
22#ifdef __EMX__
23#define DEFINE_HANDLE(a) struct _##a; typedef struct _##a *a;
24#else
25#define DEFINE_HANDLE(a) struct _##a; typedef struct _##a *##a;
26#endif
27
28#ifndef __EXTPL__H
29DEFINE_HANDLE(HRESOURCE)
30DEFINE_HANDLE(HCONNECTION)
31#endif
32
33DEFINE_HANDLE(NDPROPERTYHANDLE)
34DEFINE_HANDLE(NDMUTEX)
35DEFINE_HANDLE(NDFILEHANDLE)
36
37#define DOSATTR_READONLY 0x01
38#define DOSATTR_HIDDEN 0x02
39#define DOSATTR_SYSTEM 0x04
40#define DOSATTR_VOLLABEL 0x08
41#define DOSATTR_DIRECTORY 0x10
42#define DOSATTR_ARCHIVED 0x20
43#define DOSATTR_NON83 0x40
44
45#define DOSATTR_NEEDEA 0x80
46
47// flags for NDPLFILEINFO::ulFlags
48#define NDFILE_PARENT (0x1)
49#define NDFILE_ROOT (0x2)
50
51typedef struct _NDFILEINFO
52{
53 FILESTATUS3 stat; // standard OS/2 file information
54 ULONG ulFlags; // see NDFILE_PARENT, NDFILE_ROOT
55 UCHAR cchName; // length of the file name
56 CHAR *pszName; // address of the name
57 CHAR *pszUpperName; // address of the uppercased name
58} NDFILEINFO;
59
60typedef struct _NDFILEINFOL
61{
62 FILESTATUS3L stat; // standard OS/2 file information
63 ULONG ulFlags; // see NDFILE_PARENT, NDFILE_ROOT
64 UCHAR cchName; // length of the file name
65 CHAR *pszName; // address of the name
66 CHAR *pszUpperName; // address of the uppercased name
67} NDFILEINFOL;
68
69typedef struct _NDDATABUF
70{
71 ULONG ulSize;
72 void *pData;
73} NDDATABUF;
74
75
76typedef struct _NDFSALLOCATE
77{
78 ULONG cSectorUnit;
79 ULONG cUnit;
80 ULONG cUnitAvail;
81 USHORT cbSector;
82} NDFSALLOCATE;
83
84enum {
85 ND_PROP_STRING = 0,
86 ND_PROP_ULONG = 1
87};
88
89typedef struct _NDPROPERTYINFO
90{
91 ULONG ulType;
92 ULONG ulReserved;
93 CHAR *szName;
94 CHAR *szDefaultValue;
95} NDPROPERTYINFO;
96
97/* defines for fsphWildMatch's ignorecase parameter */
98#define ND_CASE_SENSITIVE 0
99#define ND_IGNORE_CASE 1
100
101typedef struct _NDPATHELEMENT
102{
103 ULONG length;
104 CHAR *name;
105 CHAR *upperName;
106} NDPATHELEMENT;
107
108typedef struct _NDTIMEDATE
109{
110 int seconds;
111 int minutes;
112 int hours;
113 int day;
114 int month;
115 int year;
116} NDTIMEDATE;
117
118DEFINE_HANDLE(NDTIMEHANDLE)
119
120/*
121 * Logging levels
122 */
123#define ND_LL_DEBUG (5)
124#define ND_LL_INFO (4)
125#define ND_LL_WARN (3)
126#define ND_LL_ERROR (2)
127#define ND_LL_FATAL (1)
128#define ND_LL_NONE (0)
129
130DEFINE_HANDLE(NDLOGHANDLE)
131
132#define NDMSGID(a) ((char *)(a & 0xFFFFul))
133
134typedef struct _PLUGINHELPERTABLE2
135{
136 ULONG cb;
137
138 int (PNDENTRY fsphQueryStringProperty) (NDPROPERTYHANDLE handle, const CHAR *name, const CHAR **pvalue, ULONG *plen);
139 int (PNDENTRY fsphQueryUlongProperty) (NDPROPERTYHANDLE handle, const CHAR *name, ULONG *pvalue);
140 int (PNDENTRY fsphSetProperty) (NDPROPERTYHANDLE handle, const CHAR *name, const CHAR *value);
141 int (PNDENTRY fsphParseProperty) (NDPROPERTYHANDLE handle, const CHAR *s);
142
143 int (PNDENTRY fsphAddFileFind16) (void *plist, FILEFINDBUF *pFindBuf, int cEntries, void *data, ULONG dataLength, ULONG flags);
144 int (PNDENTRY fsphAddFileFind32) (void *plist, FILEFINDBUF3 *pFindBuf, void *data, ULONG dataLength, ULONG flags);
145 void (PNDENTRY fsphInitFileFindBuf3) (FILEFINDBUF3 *pbuf, FILESTATUS3 *pstat, char *name);
146
147 int (PNDENTRY fsphWildMatch) (const CHAR *pat, const CHAR *str, int ignorecase);
148 int (PNDENTRY fsphAttrMatch) (ULONG pat, ULONG attr);
149
150 int (PNDENTRY fsphSetResourceData) (void *plist, void *data, ULONG dataLength);
151 int (PNDENTRY fsphGetResourceData) (NDFILEINFO *pfi, NDDATABUF *pdata, int expectedSize);
152 int (PNDENTRY fsphGetFileInfoData) (NDFILEINFO *pfi, NDDATABUF *pdata, int expectedSize);
153
154 NDPATHELEMENT * (PNDENTRY fsphPathElemNext) (int index, NDPATHELEMENT *pel);
155 NDPATHELEMENT * (PNDENTRY fsphPathElemPrev) (int index, NDPATHELEMENT *pel);
156 NDPATHELEMENT * (PNDENTRY fsphNameElem) (int index);
157 int (PNDENTRY fsphIsLastElem) (int index, NDPATHELEMENT *pel);
158
159 int (PNDENTRY fsphUpperCase) (CHAR *str);
160 int (PNDENTRY fsphUpperCase2) (CHAR *str, int len);
161
162 int (PNDENTRY fsphGEA16to32) (GEALIST *fpGEAList, GEA2LIST *fpGEA2List);
163 int (PNDENTRY fsphGEA32to16) (GEA2LIST *fpGEA2List, GEALIST *fpGEAList);
164 int (PNDENTRY fsphFEA16to32) (FEALIST *fpFEAList, FEA2LIST *fpFEA2List);
165 int (PNDENTRY fsphFEA32to16) (FEA2LIST *fpFEA2List, FEALIST *fpFEAList);
166
167 int (PNDENTRY fsphGetCurrentDateTime) (FDATE *pDate, FTIME *pTime);
168 void (PNDENTRY fsphUnixTimeToDosDate) (ULONG time, FDATE *pd, FTIME *pt);
169 void (PNDENTRY fsphDosDateToUnixTime) (FDATE d, FTIME t, ULONG *ptime);
170 void (PNDENTRY fsphTimeUnix2TimeDate) (ULONG time, NDTIMEDATE *ptd);
171 void (PNDENTRY fsphTimeTimeDate2Unix) (NDTIMEDATE *ptd, ULONG *ptime);
172 int (PNDENTRY fsphTimeCreateHandle) (NDTIMEHANDLE *phandle, const CHAR *pTZ);
173 void (PNDENTRY fsphTimeDeleteHandle) (NDTIMEHANDLE handle);
174 void (PNDENTRY fsphTimeLocal2GMT) (NDTIMEHANDLE handle, NDTIMEDATE *plocal, NDTIMEDATE *pgmt);
175 void (PNDENTRY fsphTimeGMT2Local) (NDTIMEHANDLE handle, NDTIMEDATE *pgmt, NDTIMEDATE *plocal);
176
177 INT (PNDENTRY fsphCharIsDBCS) (CHAR c);
178 USHORT (PNDENTRY fsphLoadChar) (CHAR **pps);
179 CHAR * (PNDENTRY fsphCopyChar) (CHAR **pdst, CHAR *src);
180 CHAR * (PNDENTRY fsphStrChr) (const CHAR *pStr, CHAR c);
181 CHAR * (PNDENTRY fsphStrRChr) (const CHAR *pStr, CHAR c);
182 INT (PNDENTRY fsphStrCmp) (const CHAR *s1, const CHAR *s2);
183 INT (PNDENTRY fsphStrNCmp) (const CHAR *s1, const CHAR *s2, INT n);
184 INT (PNDENTRY fsphStrICmp) (const CHAR *s1, const CHAR *s2);
185 INT (PNDENTRY fsphStrNICmp) (const CHAR *s1, const CHAR *s2, INT n);
186
187 INT (PNDENTRY fsphQueryFilePtr) (ULONG *pulFilePtr);
188 INT (PNDENTRY fsphQueryFileSize) (ULONG *pulFileSize);
189 INT (PNDENTRY fsphSetFilePtr) (ULONG ulFileSize, ULONG ulCurrent, LONG lOffset, ULONG ulMethod, ULONG *pulActual);
190
191 INT (PNDENTRY fsphSetAttrPattern) (void *plist, ULONG ulAttribute);
192
193 ULONG (PNDENTRY fsphQueryCurrentCp) (void);
194
195 CHAR (PNDENTRY fsphCpTranslateChar) (ULONG idCpSource, CHAR cSource, ULONG idCpDest);
196 BOOL (PNDENTRY fsphCpTranslateString) (ULONG idCpSource, const CHAR *pszSource, ULONG idCpDest, ULONG cbLenDest, CHAR *pszDest);
197
198 BOOL (PNDENTRY fsphAsciiToUnicode) (ULONG idCpSource, PSZ pszSource, ULONG cbLenDest, USHORT *pDest);
199 BOOL (PNDENTRY fsphUnicodeToAscii) (USHORT *pSource, ULONG idCpDest, ULONG cbLenDest, CHAR *pDest);
200
201 INT (PNDENTRY fsphLogOpen) (NDLOGHANDLE *phandle, ULONG loglevel, const char *logfile, const char *msgfile);
202 void (PNDENTRY fsphLogMsg) (NDLOGHANDLE handle, ULONG ll, CHAR *msg, INT argc, ...);
203 void (PNDENTRY fsphLogClose) (NDLOGHANDLE handle);
204
205 INT (PNDENTRY fsphSetUlongProperty) (NDPROPERTYHANDLE handle, const CHAR *name, const ULONG value);
206
207 void (PNDENTRY fsphLogMsg2) (NDLOGHANDLE handle, ULONG ll, CHAR *msg, INT argc, CHAR **args);
208
209 void * (PNDENTRY fsphAllocMem) (ULONG size);
210 void * (PNDENTRY fsphReallocMem) (void *p, ULONG size);
211 void (PNDENTRY fsphFreeMem) (void *p);
212
213 void (PNDENTRY fsphUlong2String) (ULONG number, CHAR *string, INT n, INT base);
214 void (PNDENTRY fsphLong2String) (LONG number, CHAR *string, INT n, INT base);
215 INT (PNDENTRY fsphString2Ulong) (const CHAR *string, CHAR **pstring2, ULONG *pvalue, INT base);
216 INT (PNDENTRY fsph_vsnprintf) (CHAR *buf, INT n, const CHAR *fmt, CHAR **args);
217 INT (PNDENTRY fsph_snprintf) (CHAR *buf, INT n, const CHAR *fmt, ...);
218
219 INT (PNDENTRY fsphCreateMutex) (NDMUTEX *pmutex);
220 INT (PNDENTRY fsphRequestMutex) (NDMUTEX mutex, ULONG ulTimeout);
221 INT (PNDENTRY fsphReleaseMutex) (NDMUTEX mutex);
222 void (PNDENTRY fsphCloseMutex) (NDMUTEX mutex);
223
224 INT (PNDENTRY fsphQueryFileStatus) (FILESTATUS3 *pstat3);
225
226 INT (PNDENTRY fsphUniStrLen) (USHORT *str);
227
228 INT (PNDENTRY fsphQueryFileOpenMode) (ULONG *pulOpenMode);
229} PLUGINHELPERTABLE2;
230
231// large files support (> 2Gb)
232typedef struct _PLUGINHELPERTABLE2L
233{
234 ULONG cb;
235
236 int (PNDENTRY fsphQueryStringProperty) (NDPROPERTYHANDLE handle, const CHAR *name, const CHAR **pvalue, ULONG *plen);
237 int (PNDENTRY fsphQueryUlongProperty) (NDPROPERTYHANDLE handle, const CHAR *name, ULONG *pvalue);
238 int (PNDENTRY fsphSetProperty) (NDPROPERTYHANDLE handle, const CHAR *name, const CHAR *value);
239 int (PNDENTRY fsphParseProperty) (NDPROPERTYHANDLE handle, const CHAR *s);
240
241 int (PNDENTRY fsphAddFileFind16) (void *plist, FILEFINDBUF *pFindBuf, int cEntries, void *data, ULONG dataLength, ULONG flags);
242 int (PNDENTRY fsphAddFileFind32) (void *plist, FILEFINDBUF3 *pFindBuf, void *data, ULONG dataLength, ULONG flags);
243 void (PNDENTRY fsphInitFileFindBuf3) (FILEFINDBUF3 *pbuf, FILESTATUS3 *pstat, char *name);
244
245 int (PNDENTRY fsphWildMatch) (const CHAR *pat, const CHAR *str, int ignorecase);
246 int (PNDENTRY fsphAttrMatch) (ULONG pat, ULONG attr);
247
248 int (PNDENTRY fsphSetResourceData) (void *plist, void *data, ULONG dataLength);
249 int (PNDENTRY fsphGetResourceData) (NDFILEINFOL *pfi, NDDATABUF *pdata, int expectedSize);
250 int (PNDENTRY fsphGetFileInfoData) (NDFILEINFOL *pfi, NDDATABUF *pdata, int expectedSize);
251
252 NDPATHELEMENT * (PNDENTRY fsphPathElemNext) (int index, NDPATHELEMENT *pel);
253 NDPATHELEMENT * (PNDENTRY fsphPathElemPrev) (int index, NDPATHELEMENT *pel);
254 NDPATHELEMENT * (PNDENTRY fsphNameElem) (int index);
255 int (PNDENTRY fsphIsLastElem) (int index, NDPATHELEMENT *pel);
256
257 int (PNDENTRY fsphUpperCase) (CHAR *str);
258 int (PNDENTRY fsphUpperCase2) (CHAR *str, int len);
259
260 int (PNDENTRY fsphGEA16to32) (GEALIST *fpGEAList, GEA2LIST *fpGEA2List);
261 int (PNDENTRY fsphGEA32to16) (GEA2LIST *fpGEA2List, GEALIST *fpGEAList);
262 int (PNDENTRY fsphFEA16to32) (FEALIST *fpFEAList, FEA2LIST *fpFEA2List);
263 int (PNDENTRY fsphFEA32to16) (FEA2LIST *fpFEA2List, FEALIST *fpFEAList);
264
265 int (PNDENTRY fsphGetCurrentDateTime) (FDATE *pDate, FTIME *pTime);
266 void (PNDENTRY fsphUnixTimeToDosDate) (ULONG time, FDATE *pd, FTIME *pt);
267 void (PNDENTRY fsphDosDateToUnixTime) (FDATE d, FTIME t, ULONG *ptime);
268 void (PNDENTRY fsphTimeUnix2TimeDate) (ULONG time, NDTIMEDATE *ptd);
269 void (PNDENTRY fsphTimeTimeDate2Unix) (NDTIMEDATE *ptd, ULONG *ptime);
270 int (PNDENTRY fsphTimeCreateHandle) (NDTIMEHANDLE *phandle, const CHAR *pTZ);
271 void (PNDENTRY fsphTimeDeleteHandle) (NDTIMEHANDLE handle);
272 void (PNDENTRY fsphTimeLocal2GMT) (NDTIMEHANDLE handle, NDTIMEDATE *plocal, NDTIMEDATE *pgmt);
273 void (PNDENTRY fsphTimeGMT2Local) (NDTIMEHANDLE handle, NDTIMEDATE *pgmt, NDTIMEDATE *plocal);
274
275 INT (PNDENTRY fsphCharIsDBCS) (CHAR c);
276 USHORT (PNDENTRY fsphLoadChar) (CHAR **pps);
277 CHAR * (PNDENTRY fsphCopyChar) (CHAR **pdst, CHAR *src);
278 CHAR * (PNDENTRY fsphStrChr) (const CHAR *pStr, CHAR c);
279 CHAR * (PNDENTRY fsphStrRChr) (const CHAR *pStr, CHAR c);
280 INT (PNDENTRY fsphStrCmp) (const CHAR *s1, const CHAR *s2);
281 INT (PNDENTRY fsphStrNCmp) (const CHAR *s1, const CHAR *s2, INT n);
282 INT (PNDENTRY fsphStrICmp) (const CHAR *s1, const CHAR *s2);
283 INT (PNDENTRY fsphStrNICmp) (const CHAR *s1, const CHAR *s2, INT n);
284
285 INT (PNDENTRY fsphQueryFilePtr) (LONGLONG *pllFilePtr);
286 INT (PNDENTRY fsphQueryFileSize) (LONGLONG *pllFileSize);
287 INT (PNDENTRY fsphSetFilePtr) (LONGLONG llFileSize, LONGLONG llCurrent, LONGLONG lOffset, ULONG ulMethod, LONGLONG *pllActual);
288
289 INT (PNDENTRY fsphSetAttrPattern) (void *plist, ULONG ulAttribute);
290
291 ULONG (PNDENTRY fsphQueryCurrentCp) (void);
292
293 CHAR (PNDENTRY fsphCpTranslateChar) (ULONG idCpSource, CHAR cSource, ULONG idCpDest);
294 BOOL (PNDENTRY fsphCpTranslateString) (ULONG idCpSource, const CHAR *pszSource, ULONG idCpDest, ULONG cbLenDest, CHAR *pszDest);
295
296 BOOL (PNDENTRY fsphAsciiToUnicode) (ULONG idCpSource, PSZ pszSource, ULONG cbLenDest, USHORT *pDest);
297 BOOL (PNDENTRY fsphUnicodeToAscii) (USHORT *pSource, ULONG idCpDest, ULONG cbLenDest, CHAR *pDest);
298
299 INT (PNDENTRY fsphLogOpen) (NDLOGHANDLE *phandle, ULONG loglevel, const char *logfile, const char *msgfile);
300 void (PNDENTRY fsphLogMsg) (NDLOGHANDLE handle, ULONG ll, CHAR *msg, INT argc, ...);
301 void (PNDENTRY fsphLogClose) (NDLOGHANDLE handle);
302
303 INT (PNDENTRY fsphSetUlongProperty) (NDPROPERTYHANDLE handle, const CHAR *name, const ULONG value);
304
305 void (PNDENTRY fsphLogMsg2) (NDLOGHANDLE handle, ULONG ll, CHAR *msg, INT argc, CHAR **args);
306
307 void * (PNDENTRY fsphAllocMem) (ULONG size);
308 void * (PNDENTRY fsphReallocMem) (void *p, ULONG size);
309 void (PNDENTRY fsphFreeMem) (void *p);
310
311 void (PNDENTRY fsphUlong2String) (ULONG number, CHAR *string, INT n, INT base);
312 void (PNDENTRY fsphLong2String) (LONG number, CHAR *string, INT n, INT base);
313 INT (PNDENTRY fsphString2Ulong) (const CHAR *string, CHAR **pstring2, ULONG *pvalue, INT base);
314 INT (PNDENTRY fsph_vsnprintf) (CHAR *buf, INT n, const CHAR *fmt, CHAR **args);
315 INT (PNDENTRY fsph_snprintf) (CHAR *buf, INT n, const CHAR *fmt, ...);
316
317 INT (PNDENTRY fsphCreateMutex) (NDMUTEX *pmutex);
318 INT (PNDENTRY fsphRequestMutex) (NDMUTEX mutex, ULONG ulTimeout);
319 INT (PNDENTRY fsphReleaseMutex) (NDMUTEX mutex);
320 void (PNDENTRY fsphCloseMutex) (NDMUTEX mutex);
321
322 INT (PNDENTRY fsphQueryFileStatus) (FILESTATUS3L *pstat);
323
324 INT (PNDENTRY fsphUniStrLen) (USHORT *str);
325
326 INT (PNDENTRY fsphQueryFileOpenMode) (ULONG *pulOpenMode);
327
328 int (PNDENTRY fsphAddFile32L) (void *plist, FILESTATUS3L *pstat, char *name, ULONG namelen, void *data, ULONG dataLength, ULONG flags);
329
330 USHORT (PNDENTRY fsphGetChar) (const char *p);
331 const char * (PNDENTRY fsphNextChar) (const char *p);
332
333 INT (PNDENTRY fsphString2longlong) (const CHAR *string, CHAR **pstring2, long long *pvalue, INT base);
334
335 int (PNDENTRY fsphTimeDateToUnixTime) (const NDTIMEDATE *ptimedate, unsigned long *ptimelow, unsigned long *ptimehigh, int isgmt, int togmt);
336
337 int (PNDENTRY fsphGetCurrentDateTime2) (NDTIMEDATE *ptimedate);
338} PLUGINHELPERTABLE2L;
339
340#pragma pack()
341
342// flags for NdpRsrcQueryInfo pulFlags parameter
343#define ND_RSRC_AVAILABLE (1)
344
345// return codes for NdpRsrcCompare
346#define ND_RSRC_EQUAL (0)
347#define ND_RSRC_DIFFERENT (1)
348
349
350// Plugin Entry points
351#ifdef NDPL_LARGEFILES
352#define PLUGINHELPERTABLE2 PLUGINHELPERTABLE2L
353#define NDFILEINFO NDFILEINFOL
354#endif
355
356extern const char *NdpTypes[];
357extern const NDPROPERTYINFO *NdpPropertiesInfo[];
358extern const unsigned long NdpAttribute;
359int NDENTRY NdpPluginLoad (PLUGINHELPERTABLE2 *pPHT2);
360int NDENTRY NdpPluginFree (void);
361
362/* resource functions */
363int NDENTRY NdpMountResource (HRESOURCE *presource, int type, NDPROPERTYHANDLE properties);
364int NDENTRY NdpFreeResource (HRESOURCE resource);
365int NDENTRY NdpCreateConnection (HRESOURCE resource, HCONNECTION *pconn);
366int NDENTRY NdpFreeConnection (HCONNECTION conn);
367
368int NDENTRY NdpRsrcCompare (HRESOURCE resource, HRESOURCE resource2);
369int NDENTRY NdpRsrcUpdate (HRESOURCE resource, HRESOURCE resource2);
370
371int NDENTRY NdpRsrcQueryInfo (HRESOURCE resource, ULONG *pulFlags, void *pdata, ULONG insize, ULONG *poutlen);
372int NDENTRY NdpRsrcQueryFSAttach (HRESOURCE resource, void *in, ULONG insize, PULONG poutlen);
373int NDENTRY NdpRsrcQueryFSAllocate (HRESOURCE resource, NDFSALLOCATE *pfsa);
374
375/* path functions */
376int NDENTRY NdpQueryPathInfo (HCONNECTION conn, void *plist, char *szPath);
377int NDENTRY NdpDeletePathInfo (HRESOURCE resource, NDFILEINFO *pfi);
378int NDENTRY NdpDiscardResourceData (HRESOURCE resource, NDDATABUF *pdatabuf);
379int NDENTRY NdpRefresh (HCONNECTION conn, char *path, int tree);
380int NDENTRY NdpSetPathInfo (HCONNECTION conn, NDFILEINFO *pfi, char *szPathName);
381int NDENTRY NdpEAQuery (HCONNECTION conn, GEALIST *pGEAList, NDFILEINFO *pfi, FEALIST *pFEAList);
382int NDENTRY NdpEASet (HCONNECTION conn, FEALIST *pFEAList, NDFILEINFO *pfi);
383int NDENTRY NdpEASize (HCONNECTION conn, NDFILEINFO *pfi, ULONG *pulEASize);
384int NDENTRY NdpSetCurrentDir (HCONNECTION conn, NDFILEINFO *pfi, char *szPath);
385int NDENTRY NdpCopy (HCONNECTION conn, NDFILEINFO *pfiDst, char *szDst, NDFILEINFO *pfiSrc, char *szSrc, ULONG ulOption);
386int NDENTRY NdpCopy2 (HCONNECTION conn, HRESOURCE resDst, NDFILEINFO *pfiDst, char *szDst, NDFILEINFO *pfiSrc, char *szSrc, ULONG ulOption);
387int NDENTRY NdpForceDelete (HCONNECTION conn, NDFILEINFO *pfi, char *szFile);
388int NDENTRY NdpCreateDir (HCONNECTION conn, NDFILEINFO *pfiparent, char *szDirName, FEALIST *pFEAList);
389int NDENTRY NdpFindStart (HCONNECTION conn, void *pList, NDFILEINFO *pfiparent, char *szPath, ULONG ulAttribute);
390int NDENTRY NdpMove (HCONNECTION conn, NDFILEINFO *pfiDst, char *szDst, NDFILEINFO *pfiSrc, char *szSrc);
391int NDENTRY NdpMove2 (HCONNECTION conn, HRESOURCE resDst, NDFILEINFO *pfiDst, char *szDst, NDFILEINFO *pfiSrc, char *szSrc);
392int NDENTRY NdpChangeCase (HCONNECTION conn, char *szDst, NDFILEINFO *pfiSrc, char *szSrc, char *szNewName, ULONG ulNameLen);
393int NDENTRY NdpRename (HCONNECTION conn, char *szDst, NDFILEINFO *pfiSrc, char *szSrc, char *szNewName, ULONG ulNameLen);
394int NDENTRY NdpOpenExisting (HCONNECTION conn, NDFILEINFO *pfi, NDFILEHANDLE *phandle, char *szFileName, ULONG ulOpenMode, USHORT *pfNeedEA);
395int NDENTRY NdpOpenReplace (HCONNECTION conn, NDFILEINFO *pfi, NDFILEHANDLE *phandle, char *szFileName, ULONG ulSize, ULONG ulOpenMode, ULONG ulAttribute, FEALIST *pFEAList);
396int NDENTRY NdpOpenCreate (HCONNECTION conn, NDFILEINFO *pfiparent, NDFILEHANDLE *phandle, char *szFileName, ULONG ulSize, ULONG ulOpenMode, ULONG ulAttribute, FEALIST *pFEAList);
397int NDENTRY NdpDeleteDir (HCONNECTION conn, NDFILEINFO *pfi, char *szDir);
398int NDENTRY NdpFlush (HRESOURCE resource);
399int NDENTRY NdpSetFileAttribute (HCONNECTION conn, NDFILEINFO *pfi, char *szFileName, USHORT usAttr);
400int NDENTRY NdpIOCTL (int type, HRESOURCE resource, char *path, int function,
401 void *in, ULONG insize, PULONG poutlen);
402
403/* file functions */
404int NDENTRY NdpFileQueryInfo (HCONNECTION conn, NDFILEHANDLE handle, void *plist);
405int NDENTRY NdpFileEAQuery (HCONNECTION conn, NDFILEHANDLE handle, GEALIST *pGEAList, FEALIST *pFEAList);
406int NDENTRY NdpFileEASet (HCONNECTION conn, NDFILEHANDLE handle, FEALIST *pFEAList);
407int NDENTRY NdpFileEASize (HCONNECTION conn, NDFILEHANDLE handle, ULONG *pulEASize);
408int NDENTRY NdpFileSetInfo (HCONNECTION conn, NDFILEHANDLE handle, NDFILEINFO *pfi);
409int NDENTRY NdpFileSetFilePtr (HCONNECTION conn, NDFILEHANDLE handle, LONG lOffset, ULONG ulMethod, ULONG *pulActual);
410int NDENTRY NdpFileClose (HCONNECTION conn, NDFILEHANDLE handle);
411int NDENTRY NdpFileCommit (HCONNECTION conn, NDFILEHANDLE handle);
412int NDENTRY NdpFileNewSize (HCONNECTION conn, NDFILEHANDLE handle, ULONG ulLen);
413int NDENTRY NdpFileRead (HCONNECTION conn, NDFILEHANDLE handle, void *pBuffer, ULONG ulRead, ULONG *pulActual);
414int NDENTRY NdpFileWrite (HCONNECTION conn, NDFILEHANDLE handle, void *pBuffer, ULONG ulWrite, ULONG *pulActual);
415
416// large file support (>2Gb)
417#ifdef NDPL_LARGEFILES
418int NDENTRY NdpOpenReplaceL(HCONNECTION conn, NDFILEINFO *pfi, NDFILEHANDLE *phandle, char *szFileName, LONGLONG llSize, ULONG ulOpenMode, ULONG ulAttribute, FEALIST *pFEAList);
419int NDENTRY NdpOpenCreateL(HCONNECTION conn, NDFILEINFO *pfiparent, NDFILEHANDLE *phandle, char *szFileName, LONGLONG llSize, ULONG ulOpenMode, ULONG ulAttribute, FEALIST *pFEAList);
420int NDENTRY NdpFileSetFilePtrL(HCONNECTION conn, NDFILEHANDLE handle, LONGLONG llOffset, ULONG ulMethod, LONGLONG *pllActual);
421int NDENTRY NdpFileNewSizeL(HCONNECTION conn, NDFILEHANDLE handle, LONGLONG llLen);
422#endif
423
424#ifdef __cplusplus
425 }
426#endif
427
428#endif /* __EXTPL2__H */
Note: See TracBrowser for help on using the repository browser.