[inseparable changes from patch from perl5.003_09 to perl5.003_10]
[p5sagit/p5-mst-13.2.git] / os2 / OS2 / ExtAttr / ExtAttr.xs
CommitLineData
760ac839 1#ifdef __cplusplus
2extern "C" {
3#endif
4#include "EXTERN.h"
5#include "perl.h"
6#include "XSUB.h"
7#ifdef __cplusplus
8}
9#endif
10
11#include "myea.h"
12
13SV *
14my_eadvalue(_ead ead, int index)
15{
16 SV *sv;
17 int size = _ead_value_size(ead, index);
18 void *p;
19
20 if (size == -1) {
21 die("Error getting size of EA: %s", strerror(errno));
22 }
23 p = _ead_get_value(ead, index);
24 return newSVpv((char*)p, size);
25}
26
27#define my_eadreplace(ead, index, sv, flag) \
28 _ead_replace((ead), (index), flag, SvPVX(sv), SvCUR(sv))
29
30#define my_eadadd(ead, name, sv, flag) \
31 _ead_add((ead), (name), flag, SvPVX(sv), SvCUR(sv))
32
33
34MODULE = OS2::ExtAttr PACKAGE = OS2::ExtAttr PREFIX = my_ead
35
36SV *
37my_eadvalue(ead, index)
38 _ead ead
39 int index
40
41int
42my_eadreplace(ead, index, sv, flag = 0)
43 _ead ead
44 int index
45 SV * sv
46 int flag
47
48int
49my_eadadd(ead, name, sv, flag = 0)
50 _ead ead
51 char * name
52 SV * sv
53 int flag
54
55MODULE = OS2::ExtAttr PACKAGE = OS2::ExtAttr PREFIX = _ea
56
57
58void
59_ea_free(ptr)
60 struct _ea * ptr
61
62int
63_ea_get(dst, path, handle, name)
64 struct _ea * dst
65 char * path
66 int handle
67 char * name
68
69int
70_ea_put(src, path, handle, name)
71 struct _ea * src
72 char * path
73 int handle
74 char * name
75
76int
77_ea_remove(path, handle, name)
78 char * path
79 int handle
80 char * name
81
82MODULE = OS2::ExtAttr PACKAGE = OS2::ExtAttr PREFIX = _ead
83
84int
85_ead_add(ead, name, flags, value, size)
86 _ead ead
87 char * name
88 int flags
89 void * value
90 int size
91
92void
93_ead_clear(ead)
94 _ead ead
95
96int
97_ead_copy(dst_ead, src_ead, src_index)
98 _ead dst_ead
99 _ead src_ead
100 int src_index
101
102int
103_ead_count(ead)
104 _ead ead
105
106_ead
107_ead_create()
108
109int
110_ead_delete(ead, index)
111 _ead ead
112 int index
113
114void
115_ead_destroy(ead)
116 _ead ead
117
118int
119_ead_fea2list_size(ead)
120 _ead ead
121
122void *
123_ead_fea2list_to_fealist(src)
124 void * src
125
126void *
127_ead_fealist_to_fea2list(src)
128 void * src
129
130int
131_ead_find(ead, name)
132 _ead ead
133 char * name
134
135void *
136_ead_get_fea2list(ead)
137 _ead ead
138
139int
140_ead_get_flags(ead, index)
141 _ead ead
142 int index
143
144char *
145_ead_get_name(ead, index)
146 _ead ead
147 int index
148
149void *
150_ead_get_value(ead, index)
151 _ead ead
152 int index
153
154int
155_ead_name_len(ead, index)
156 _ead ead
157 int index
158
159int
160_ead_read(ead, path, handle, flags)
161 _ead ead
162 char * path
163 int handle
164 int flags
165
166int
167_ead_replace(ead, index, flags, value, size)
168 _ead ead
169 int index
170 int flags
171 void * value
172 int size
173
174void
175_ead_sort(ead)
176 _ead ead
177
178int
179_ead_use_fea2list(ead, src)
180 _ead ead
181 void * src
182
183int
184_ead_value_size(ead, index)
185 _ead ead
186 int index
187
188int
189_ead_write(ead, path, handle, flags)
190 _ead ead
191 char * path
192 int handle
193 int flags