source: gpfs_3.1_ker2.6.20/lpp/mmfs/include/dmapi.h @ 77

Last change on this file since 77 was 16, checked in by rock, 17 years ago
File size: 24.5 KB
Line 
1/* IBM_PROLOG_BEGIN_TAG                                                   */
2/* This is an automatically generated prolog.                             */
3/*                                                                        */
4/*                                                                        */
5/*                                                                        */
6/* Licensed Materials - Property of IBM                                   */
7/*                                                                        */
8/* Restricted Materials of IBM                                            */
9/*                                                                        */
10/* (C) COPYRIGHT International Business Machines Corp. 1997,2006          */
11/* All Rights Reserved                                                    */
12/*                                                                        */
13/* US Government Users Restricted Rights - Use, duplication or            */
14/* disclosure restricted by GSA ADP Schedule Contract with IBM Corp.      */
15/*                                                                        */
16/* IBM_PROLOG_END_TAG                                                     */
17/* @(#)05       1.10  src/avs/fs/mmfs/ts/dm/dmapi.h, mmfs, avs_rgpfs24, rgpfs240610b 2/26/06 23:00:30 */
18
19/*
20 * $Id: dmapi.h,v 1.10 2006/02/24 20:38:21 wyllie Exp $
21 *
22 * $Log: dmapi.h,v $
23 * Revision 1.10  2006/02/24 20:38:21  wyllie
24 * Run cindent; no functional changes
25 *
26 * Revision 1.9  1999/12/21 11:09:03  mcnabb
27 * Complete standard header material
28 *
29 */
30
31#ifndef _DMAPI_H
32#define _DMAPI_H
33
34#include <errno.h>
35#include "dmapi_types.h"
36
37/*
38 * Function declarations for GPFS DMAPI
39 */
40
41#ifdef __cplusplus
42extern "C"
43{
44#endif
45
46  extern int dm_clear_inherit(
47          dm_sessid_t             sid,            /* IN */
48          void                    *hanp,          /* IN */
49          size_t                  hlen,           /* IN */
50          dm_token_t              token,          /* IN */
51          dm_attrname_t           *attrnamep      /* IN */
52         );
53
54  extern int dm_create_by_handle(
55          dm_sessid_t             sid,            /* IN */
56          void                    *dirhanp,       /* IN */
57          size_t                  dirhlen,        /* IN */
58          dm_token_t              token,          /* IN */
59          void                    *hanp,          /* IN */
60          size_t                  hlen,           /* IN */
61          char                    *cname          /* IN */
62         );
63
64  extern int dm_create_session(
65          dm_sessid_t             oldsid,         /* IN */
66          char                    *sessinfop,     /* IN */
67          dm_sessid_t             *newsidp        /* OUT */
68         );
69
70  extern int dm_create_userevent(
71          dm_sessid_t             sid,            /* IN */
72          size_t                  msglen,         /* IN */
73          void                    *msgdatap,      /* IN */
74          dm_token_t              *tokenp         /* OUT */
75         );
76
77  extern int dm_destroy_session(
78          dm_sessid_t             sid             /* IN */
79         );
80
81  extern int dm_downgrade_right(
82          dm_sessid_t             sid,            /* IN */
83          void                    *hanp,          /* IN */
84          size_t                  hlen,           /* IN */
85          dm_token_t              token           /* IN */
86         );
87
88  extern int dm_fd_to_handle(
89          int                     fd,             /* IN */
90          void                    **hanpp,        /* OUT */
91          size_t                  *hlenp          /* OUT */
92         );
93
94  extern int dm_find_eventmsg(
95          dm_sessid_t             sid,            /* IN */
96          dm_token_t              token,          /* IN */
97          size_t                  buflen,         /* IN */
98          void                    *bufp,          /* OUT */
99          size_t                  *rlenp          /* OUT */
100         );
101
102  extern int dm_get_allocinfo(
103          dm_sessid_t             sid,            /* IN */
104          void                    *hanp,          /* IN */
105          size_t                  hlen,           /* IN */
106          dm_token_t              token,          /* IN */
107          dm_off_t                *offp,          /* IN/OUT */
108          u_int                   nelem,          /* IN */
109          dm_extent_t             *extentp,       /* OUT */
110          u_int                   *nelemp         /* OUT */
111         );
112
113  extern int dm_get_bulkall(
114          dm_sessid_t             sid,            /* IN */
115          void                    *hanp,          /* IN */
116          size_t                  hlen,           /* IN */
117          dm_token_t              token,          /* IN */
118          u_int                   mask,           /* IN */
119          dm_attrname_t           *attrnamep,     /* IN */
120          dm_attrloc_t            *locp,          /* IN/OUT */
121          size_t                  buflen,         /* IN */
122          void                    *bufp,          /* OUT */
123          size_t                  *rlenp          /* OUT */
124         );
125
126  extern int dm_get_bulkattr(
127          dm_sessid_t             sid,            /* IN */
128          void                    *hanp,          /* IN */
129          size_t                  hlen,           /* IN */
130          dm_token_t              token,          /* IN */
131          u_int                   mask,           /* IN */
132          dm_attrloc_t            *locp,          /* IN/OUT */
133          size_t                  buflen,         /* IN */
134          void                    *bufp,          /* OUT */
135          size_t                  *rlenp          /* OUT */
136         );
137
138  extern int dm_get_config(
139          void                    *hanp,          /* IN */
140          size_t                  hlen,           /* IN */
141          dm_config_t             flagname,       /* IN */
142          dm_size_t               *retvalp        /* OUT */
143         );
144
145  extern int dm_get_config_events(
146          void                    *hanp,          /* IN */
147          size_t                  hlen,           /* IN */
148          u_int                   nelem,          /* IN */
149          dm_eventset_t           *eventsetp,     /* OUT */
150          u_int                   *nelemp         /* OUT */
151         );
152
153  extern int dm_get_dirattrs(
154          dm_sessid_t             sid,            /* IN */
155          void                    *hanp,          /* IN */
156          size_t                  hlen,           /* IN */
157          dm_token_t              token,          /* IN */
158          u_int                   mask,           /* IN */
159          dm_attrloc_t            *locp,          /* IN/OUT */
160          size_t                  buflen,         /* IN */
161          void                    *bufp,          /* OUT */
162          size_t                  *rlenp          /* OUT */
163         );
164
165  extern int dm_get_dmattr(
166          dm_sessid_t             sid,            /* IN */
167          void                    *hanp,          /* IN */
168          size_t                  hlen,           /* IN */
169          dm_token_t              token,          /* IN */
170          dm_attrname_t           *attrnamep,     /* IN */
171          size_t                  buflen,         /* IN */
172          void                    *bufp,          /* OUT */
173          size_t                  *rlenp          /* OUT */
174         );
175
176  extern int dm_get_eventlist(
177          dm_sessid_t             sid,            /* IN */
178          void                    *hanp,          /* IN */
179          size_t                  hlen,           /* IN */
180          dm_token_t              token,          /* IN */
181          u_int                   nelem,          /* IN */
182          dm_eventset_t           *eventsetp,     /* OUT */
183          u_int                   *nelemp         /* OUT */
184         );
185
186  extern int dm_get_events(
187          dm_sessid_t             sid,            /* IN */
188          u_int                   maxmsgs,        /* IN */
189          u_int                   flags,          /* IN */
190          size_t                  buflen,         /* IN */
191          void                    *bufp,          /* OUT */
192          size_t                  *rlenp          /* OUT */
193         );
194
195  extern int dm_get_fileattr(
196          dm_sessid_t             sid,            /* IN */
197          void                    *hanp,          /* IN */
198          size_t                  hlen,           /* IN */
199          dm_token_t              token,          /* IN */
200          u_int                   mask,           /* IN */
201          dm_stat_t               *statp          /* OUT */
202         );
203
204  extern int dm_get_mountinfo(
205          dm_sessid_t             sid,            /* IN */
206          void                    *hanp,          /* IN */
207          size_t                  hlen,           /* IN */
208          dm_token_t              token,          /* IN */
209          size_t                  buflen,         /* IN */
210          void                    *bufp,          /* OUT */
211          size_t                  *rlenp          /* OUT */
212         );
213
214  extern int dm_get_region(
215          dm_sessid_t             sid,            /* IN */
216          void                    *hanp,          /* IN */
217          size_t                  hlen,           /* IN */
218          dm_token_t              token,          /* IN */
219          u_int                   nelem,          /* IN */
220          dm_region_t             *regbufp,       /* OUT */
221          u_int                   *nelemp         /* OUT */
222         );
223
224  extern int dm_getall_disp(
225          dm_sessid_t             sid,            /* IN */
226          size_t                  buflen,         /* IN */
227          void                    *bufp,          /* OUT */
228          size_t                  *rlenp          /* OUT */
229         );
230
231  extern int dm_getall_dmattr(
232          dm_sessid_t             sid,            /* IN */
233          void                    *hanp,          /* IN */
234          size_t                  hlen,           /* IN */
235          dm_token_t              token,          /* IN */
236          size_t                  buflen,         /* IN */
237          void                    *bufp,          /* OUT */
238          size_t                  *rlenp          /* OUT */
239         );
240
241  extern int dm_getall_inherit(
242          dm_sessid_t             sid,            /* IN */
243          void                    *hanp,          /* IN */
244          size_t                  hlen,           /* IN */
245          dm_token_t              token,          /* IN */
246          u_int                   nelem,          /* IN */
247          dm_inherit_t            *inheritbufp,   /* OUT */
248          u_int                   *nelemp         /* OUT */
249         );
250
251  extern int dm_getall_sessions(
252          u_int                   nelem,          /* IN */
253          dm_sessid_t             *sidbufp,       /* OUT */
254          u_int                   *nelemp         /* OUT */
255         );
256
257  extern int dm_getall_tokens(
258          dm_sessid_t             sid,            /* IN */
259          u_int                   nelem,          /* IN */
260          dm_token_t              *tokenbufp,     /* OUT */
261          u_int                   *nelemp         /* OUT */
262         );
263
264  extern int dm_handle_cmp(
265          void                    *hanp1,         /* IN */
266          size_t                  hlen1,          /* IN */
267          void                    *hanp2,         /* IN */
268          size_t                  hlen2           /* IN */
269         );
270
271  extern void dm_handle_free(
272          void                    *hanp,          /* IN */
273          size_t                  hlen            /* IN */
274         );
275
276  extern u_int dm_handle_hash(
277          void                    *hanp,          /* IN */
278          size_t                  hlen            /* IN */
279         );
280
281  extern dm_boolean_t dm_handle_is_valid(
282          void                    *hanp,          /* IN */
283          size_t                  hlen            /* IN */
284         );
285
286  extern int dm_handle_to_fshandle(
287          void                    *hanp,          /* IN */
288          size_t                  hlen,           /* IN */
289          void                    **fshanpp,      /* OUT */
290          size_t                  *fslenp         /* OUT */
291         );
292
293  extern int dm_handle_to_fsid(
294          void                    *hanp,          /* IN */
295          size_t                  hlen,           /* IN */
296          dm_fsid_t               *fsidp          /* OUT */
297         );
298
299  extern int dm_handle_to_igen(
300          void                    *hanp,          /* IN */
301          size_t                  hlen,           /* IN */
302          dm_igen_t               *igenp          /* OUT */
303         );
304
305  extern int dm_handle_to_ino(
306          void                    *hanp,          /* IN */
307          size_t                  hlen,           /* IN */
308          dm_ino_t                *inop           /* OUT */
309         );
310
311  extern int dm_handle_to_path(
312          void                    *dirhanp,       /* IN */
313          size_t                  dirhlen1,       /* IN */
314          void                    *targhanp,      /* IN */
315          size_t                  targhlen,       /* IN */
316          size_t                  buflen,         /* IN */
317          char                    *pathbufp,      /* OUT */
318          size_t                  *rlenp          /* OUT */
319         );
320
321  extern int dm_init_attrloc(
322          dm_sessid_t             sid,            /* IN */
323          void                    *hanp,          /* IN */
324          size_t                  hlen,           /* IN */
325          dm_token_t              token,          /* IN */
326          dm_attrloc_t            *locp           /* OUT */
327         );
328
329  extern int dm_init_service(
330          char                    **versionstrpp  /* OUT */
331         );
332
333  extern int dm_make_fshandle(
334          dm_fsid_t               *fsidp,         /* IN */
335          void                    **hanpp,        /* OUT */
336          size_t                  *hlenp          /* OUT */
337         );
338
339  extern int dm_make_handle(
340          dm_fsid_t               *fsidp,         /* IN */
341          dm_ino_t                *inop,          /* IN */
342          dm_igen_t               *igenp,         /* IN */
343          void                    **hanpp,        /* OUT */
344          size_t                  *hlenp          /* OUT */
345         );
346
347  extern int dm_mkdir_by_handle(
348          dm_sessid_t             sid,            /* IN */
349          void                    *dirhanp,       /* IN */
350          size_t                  dirhlen,        /* IN */
351          dm_token_t              token,          /* IN */
352          void                    *hanp,          /* IN */
353          size_t                  hlen,           /* IN */
354          char                    *cname          /* IN */
355         );
356
357  extern int dm_move_event(
358          dm_sessid_t             srcsid,         /* IN */
359          dm_token_t              token,          /* IN */
360          dm_sessid_t             targetsid,      /* IN */
361          dm_token_t              *rtokenp        /* OUT */
362         );
363
364  extern int dm_obj_ref_hold(
365          dm_sessid_t             sid,            /* IN */
366          dm_token_t              token,          /* IN */
367          void                    *hanp,          /* IN */
368          size_t                  hlen            /* IN */
369         );
370
371  extern int dm_obj_ref_query(
372          dm_sessid_t             sid,            /* IN */
373          dm_token_t              token,          /* IN */
374          void                    *hanp,          /* IN */
375          size_t                  hlen            /* IN */
376         );
377
378  extern int dm_obj_ref_rele(
379          dm_sessid_t             sid,            /* IN */
380          dm_token_t              token,          /* IN */
381          void                    *hanp,          /* IN */
382          size_t                  hlen            /* IN */
383         );
384
385  extern int dm_path_to_fshandle(
386          char                    *path,          /* IN */
387          void                    **hanpp,        /* OUT */
388          size_t                  *hlenp          /* OUT */
389         );
390
391  extern int dm_path_to_handle(
392          char                    *path,          /* IN */
393          void                    **hanpp,        /* OUT */
394          size_t                  *hlenp          /* OUT */
395         );
396
397  extern int dm_pending(
398          dm_sessid_t             sid,            /* IN */
399          dm_token_t              token,          /* IN */
400          dm_timestruct_t         *delay          /* IN */
401         );
402
403  extern int dm_probe_hole(
404          dm_sessid_t             sid,            /* IN */
405          void                    *hanp,          /* IN */
406          size_t                  hlen,           /* IN */
407          dm_token_t              token,          /* IN */
408          dm_off_t                off,            /* IN */
409          dm_size_t               len,            /* IN */
410          dm_off_t                *roffp,         /* OUT */
411          dm_size_t               *rlenp          /* OUT */
412         );
413
414  extern int dm_punch_hole(
415          dm_sessid_t             sid,            /* IN */
416          void                    *hanp,          /* IN */
417          size_t                  hlen,           /* IN */
418          dm_token_t              token,          /* IN */
419          dm_off_t                off,            /* IN */
420          dm_size_t               len             /* IN */
421         );
422
423  extern int dm_query_right(
424          dm_sessid_t             sid,            /* IN */
425          void                    *hanp,          /* IN */
426          size_t                  hlen,           /* IN */
427          dm_token_t              token,          /* IN */
428          dm_right_t              *rightp         /* OUT */
429         );
430
431  extern int dm_query_session(
432          dm_sessid_t             sid,            /* IN */
433          size_t                  buflen,         /* IN */
434          void                    *bufp,          /* OUT */
435          size_t                  *rlenp          /* OUT */
436         );
437
438  extern dm_ssize_t dm_read_invis(
439          dm_sessid_t             sid,            /* IN */
440          void                    *hanp,          /* IN */
441          size_t                  hlen,           /* IN */
442          dm_token_t              token,          /* IN */
443          dm_off_t                off,            /* IN */
444          dm_size_t               len,            /* IN */
445          void                    *bufp           /* OUT */
446         );
447
448  extern int dm_release_right(
449          dm_sessid_t             sid,            /* IN */
450          void                    *hanp,          /* IN */
451          size_t                  hlen,           /* IN */
452          dm_token_t              token           /* IN */
453         );
454
455  extern int dm_remove_dmattr(
456          dm_sessid_t             sid,            /* IN */
457          void                    *hanp,          /* IN */
458          size_t                  hlen,           /* IN */
459          dm_token_t              token,          /* IN */
460          int                     setdtime,       /* IN */
461          dm_attrname_t           *attrnamep      /* IN */
462         );
463
464  extern int dm_request_right(
465          dm_sessid_t             sid,            /* IN */
466          void                    *hanp,          /* IN */
467          size_t                  hlen,           /* IN */
468          dm_token_t              token,          /* IN */
469          u_int                   flags,          /* IN */
470          dm_right_t              right           /* IN */
471         );
472
473  extern int dm_respond_event(
474          dm_sessid_t             sid,            /* IN */
475          dm_token_t              token,          /* IN */
476          dm_response_t           response,       /* IN */
477          int                     reterror,       /* IN */
478          size_t                  buflen,         /* IN */
479          void                    *respbufp       /* IN */
480         );
481
482  extern int dm_send_msg(
483          dm_sessid_t             targetsid,      /* IN */
484          dm_msgtype_t            msgtype,        /* IN */
485          size_t                  buflen,         /* IN */
486          void                    *bufp           /* IN */
487         );
488
489  extern int dm_set_disp(
490          dm_sessid_t             sid,            /* IN */
491          void                    *hanp,          /* IN */
492          size_t                  hlen,           /* IN */
493          dm_token_t              token,          /* IN */
494          dm_eventset_t           *eventsetp,     /* IN */
495          u_int                   maxevent        /* IN */
496         );
497
498  extern int dm_set_dmattr(
499          dm_sessid_t             sid,            /* IN */
500          void                    *hanp,          /* IN */
501          size_t                  hlen,           /* IN */
502          dm_token_t              token,          /* IN */
503          dm_attrname_t           *attrnamep,     /* IN */
504          int                     setdtime,       /* IN */
505          size_t                  buflen,         /* IN */
506          void                    *bufp           /* IN */
507         );
508
509  extern int dm_set_eventlist(
510          dm_sessid_t             sid,            /* IN */
511          void                    *hanp,          /* IN */
512          size_t                  hlen,           /* IN */
513          dm_token_t              token,          /* IN */
514          dm_eventset_t           *eventsetp,     /* IN */
515          u_int                   maxevent        /* IN */
516         );
517
518  extern int dm_set_fileattr(
519          dm_sessid_t             sid,            /* IN */
520          void                    *hanp,          /* IN */
521          size_t                  hlen,           /* IN */
522          dm_token_t              token,          /* IN */
523          u_int                   mask,           /* IN */
524          dm_fileattr_t           *attrp          /* IN */
525         );
526
527  extern int dm_set_inherit(
528          dm_sessid_t             sid,            /* IN */
529          void                    *hanp,          /* IN */
530          size_t                  hlen,           /* IN */
531          dm_token_t              token,          /* IN */
532          dm_attrname_t           *attrnamep,     /* IN */
533          mode_t                  mode            /* IN */
534         );
535
536  extern int dm_set_region(
537          dm_sessid_t             sid,            /* IN */
538          void                    *hanp,          /* IN */
539          size_t                  hlen,           /* IN */
540          dm_token_t              token,          /* IN */
541          u_int                   nelem,          /* IN */
542          dm_region_t             *regbufp,       /* IN */
543          dm_boolean_t            *exactflagp     /* OUT */
544         );
545
546  extern int dm_set_return_on_destroy(
547          dm_sessid_t             sid,            /* IN */
548          void                    *hanp,          /* IN */
549          size_t                  hlen,           /* IN */
550          dm_token_t              token,          /* IN */
551          dm_attrname_t           *attrnamep,     /* IN */
552          dm_boolean_t            enable          /* IN */
553         );
554
555  extern int dm_symlink_by_handle(
556          dm_sessid_t             sid,            /* IN */
557          void                    *dirhanp,       /* IN */
558          size_t                  dirhlen,        /* IN */
559          dm_token_t              token,          /* IN */
560          void                    *hanp,          /* IN */
561          size_t                  hlen,           /* IN */
562          char                    *cname,         /* IN */
563          char                    *path           /* IN */
564         );
565
566  extern int dm_sync_by_handle(
567          dm_sessid_t             sid,            /* IN */
568          void                    *hanp,          /* IN */
569          size_t                  hlen,           /* IN */
570          dm_token_t              token           /* IN */
571         );
572
573  extern int dm_upgrade_right(
574          dm_sessid_t             sid,            /* IN */
575          void                    *hanp,          /* IN */
576          size_t                  hlen,           /* IN */
577          dm_token_t              token           /* IN */
578         );
579
580  extern dm_ssize_t dm_write_invis(
581          dm_sessid_t             sid,            /* IN */
582          void                    *hanp,          /* IN */
583          size_t                  hlen,           /* IN */
584          dm_token_t              token,          /* IN */
585          int                     flags,          /* IN */
586          dm_off_t                off,            /* IN */
587          dm_size_t               len,            /* IN */
588          void                    *bufp           /* IN */
589         );
590
591#ifdef __cplusplus
592}
593#endif
594
595#endif /* _DMAPI_H */
Note: See TracBrowser for help on using the repository browser.