1 # this IDL is not used by the globus build process. it is a developer
2 # tool to drive automatic regeneration of the object and error type hierarchy
3 # code and/or documentation from one concise definition. it is part of a very
4 # special-purpose hack.
6 # please do not change these files unless you really know what you are doing!
12 # type : parent { fields } string_func : represents
14 # types are shorthand (just the unique part of the GLOBUS_OBJECT_TYPE_* name)
15 # list local instance fields only (not inherited)
16 # instance fields default to globus_object_t * type if none given
17 # instance fields separated by comma
18 # represents description is human summary for webdoc
20 # entries must be in order, supertype before subtype
22 # PRINTABLE is handled specially and has no parent type
23 # or string_func in the IDL (because it is implemented by hand, not
28 # at this point I'm wondering if a simple hack like this will work for
29 # copy/destroy semantics
30 # copy_action destroy_action default init
31 # globus_object_t * globus_object_copy globus_object_free NULL
32 # char * globus_libc_strdup globus_free NULL
33 # int,long,size_t = ; -1
38 RESOURCE : PRINTABLE { } NULL :a
generic resource
39 COMPUTER : RESOURCE {
char * hostname } NULL :a
generic computational resource
40 GRAM_RESOURCE : COMPUTER {
char * contact } NULL :a computational resource managed by GRAM
42 FD_TABLE : RESOURCE { } NULL
44 STORAGE : RESOURCE {
long size } NULL :a
generic storage resource
45 FILE : STORAGE {
char * filename,
int fd, FILE* filep } NULL :a filesystem
object
46 MEMORY : STORAGE { } NULL :a memory allocation
47 BUFFER_POOL : STORAGE { } NULL
49 COMMUNICATOR : RESOURCE { } NULL :a
generic communication handle
50 SOCKET : COMMUNICATOR { } NULL :a socket communication handle
52 TASK : PRINTABLE { request } NULL :a computation on a resource
53 PROCESS : TASK { computer,
long pid } NULL :a local process on a computer
54 GRAMJOB : TASK { gram_resource,
char * contact } NULL :a GRAM job on a GRAM-managed resource
56 OPERATION : PRINTABLE { identity, computer } NULL :a
generic operation hosted on a computer on behalf of some identity
57 READ : OPERATION { resource,
long offset,
long size } NULL :a read from a communication or storage resource
58 WRITE : OPERATION { resource,
long offset,
long size } NULL :a write to a communication or storage resource
59 APPEND : WRITE { } NULL :an append to a communication or storage resource
60 EXECUTE : OPERATION { globus_object_t * program } NULL
61 FORK : EXECUTE { parent } NULL
64 GRAM_REQUEST : EXECUTE { resource } NULL
65 OPEN_CREATE : OPERATION { resource } NULL
66 OPEN : OPEN_CREATE { } NULL
68 CLOSE : OPERATION { resource } NULL
70 USERDATA : PRINTABLE { } NULL
71 RSL : USERDATA {
char * string,
void * globus_rsl } NULL
73 IDENTITY : PRINTABLE { } NULL
74 LOCAL_IDENTITY : IDENTITY { computer,
char * username } NULL
75 GRID_IDENTITY : IDENTITY {
char * subject } NULL
76 KERBEROS_IDENTITY : IDENTITY {
char * principal } NULL
78 TIME : PRINTABLE { time_t * time } NULL
List data type.
Definition: globus_list.h:28