Commit | Line | Data |
760ac839 |
1 | #ifdef __cplusplus |
2 | extern "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 | |
13 | SV * |
14 | my_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 | |
34 | MODULE = OS2::ExtAttr PACKAGE = OS2::ExtAttr PREFIX = my_ead |
35 | |
36 | SV * |
37 | my_eadvalue(ead, index) |
38 | _ead ead |
39 | int index |
40 | |
41 | int |
42 | my_eadreplace(ead, index, sv, flag = 0) |
43 | _ead ead |
44 | int index |
45 | SV * sv |
46 | int flag |
47 | |
48 | int |
49 | my_eadadd(ead, name, sv, flag = 0) |
50 | _ead ead |
51 | char * name |
52 | SV * sv |
53 | int flag |
54 | |
55 | MODULE = OS2::ExtAttr PACKAGE = OS2::ExtAttr PREFIX = _ea |
56 | |
57 | |
58 | void |
59 | _ea_free(ptr) |
60 | struct _ea * ptr |
61 | |
62 | int |
63 | _ea_get(dst, path, handle, name) |
64 | struct _ea * dst |
65 | char * path |
66 | int handle |
67 | char * name |
68 | |
69 | int |
70 | _ea_put(src, path, handle, name) |
71 | struct _ea * src |
72 | char * path |
73 | int handle |
74 | char * name |
75 | |
76 | int |
77 | _ea_remove(path, handle, name) |
78 | char * path |
79 | int handle |
80 | char * name |
81 | |
82 | MODULE = OS2::ExtAttr PACKAGE = OS2::ExtAttr PREFIX = _ead |
83 | |
84 | int |
85 | _ead_add(ead, name, flags, value, size) |
86 | _ead ead |
87 | char * name |
88 | int flags |
89 | void * value |
90 | int size |
91 | |
92 | void |
93 | _ead_clear(ead) |
94 | _ead ead |
95 | |
96 | int |
97 | _ead_copy(dst_ead, src_ead, src_index) |
98 | _ead dst_ead |
99 | _ead src_ead |
100 | int src_index |
101 | |
102 | int |
103 | _ead_count(ead) |
104 | _ead ead |
105 | |
106 | _ead |
107 | _ead_create() |
108 | |
109 | int |
110 | _ead_delete(ead, index) |
111 | _ead ead |
112 | int index |
113 | |
114 | void |
115 | _ead_destroy(ead) |
116 | _ead ead |
117 | |
118 | int |
119 | _ead_fea2list_size(ead) |
120 | _ead ead |
121 | |
122 | void * |
123 | _ead_fea2list_to_fealist(src) |
124 | void * src |
125 | |
126 | void * |
127 | _ead_fealist_to_fea2list(src) |
128 | void * src |
129 | |
130 | int |
131 | _ead_find(ead, name) |
132 | _ead ead |
133 | char * name |
134 | |
135 | void * |
136 | _ead_get_fea2list(ead) |
137 | _ead ead |
138 | |
139 | int |
140 | _ead_get_flags(ead, index) |
141 | _ead ead |
142 | int index |
143 | |
144 | char * |
145 | _ead_get_name(ead, index) |
146 | _ead ead |
147 | int index |
148 | |
149 | void * |
150 | _ead_get_value(ead, index) |
151 | _ead ead |
152 | int index |
153 | |
154 | int |
155 | _ead_name_len(ead, index) |
156 | _ead ead |
157 | int index |
158 | |
159 | int |
160 | _ead_read(ead, path, handle, flags) |
161 | _ead ead |
162 | char * path |
163 | int handle |
164 | int flags |
165 | |
166 | int |
167 | _ead_replace(ead, index, flags, value, size) |
168 | _ead ead |
169 | int index |
170 | int flags |
171 | void * value |
172 | int size |
173 | |
174 | void |
175 | _ead_sort(ead) |
176 | _ead ead |
177 | |
178 | int |
179 | _ead_use_fea2list(ead, src) |
180 | _ead ead |
181 | void * src |
182 | |
183 | int |
184 | _ead_value_size(ead, index) |
185 | _ead ead |
186 | int index |
187 | |
188 | int |
189 | _ead_write(ead, path, handle, flags) |
190 | _ead ead |
191 | char * path |
192 | int handle |
193 | int flags |