#ifdef __cplusplus
extern "C" {
#endif
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
#ifdef __cplusplus
}
#endif
#include "myea.h"
SV *
my_eadvalue(pTHX_ _ead ead, int index)
{
SV *sv;
int size = _ead_value_size(ead, index);
const char *p;
if (size == -1) {
Perl_die(aTHX_ "Error getting size of EA: %s", strerror(errno));
}
p = _ead_get_value(ead, index);
return newSVpv(p, size);
}
#define my_eadreplace(ead, index, sv, flag) \
_ead_replace((ead), (index), flag, SvPVX(sv), SvCUR(sv))
#define my_eadadd(ead, name, sv, flag) \
_ead_add((ead), (name), flag, SvPVX(sv), SvCUR(sv))
MODULE = OS2::ExtAttr PACKAGE = OS2::ExtAttr PREFIX = my_ead
SV *
my_eadvalue(ead, index)
_ead ead
int index
CODE:
RETVAL = my_eadvalue(aTHX_ ead, index);
OUTPUT:
RETVAL
int
my_eadreplace(ead, index, sv, flag = 0)
_ead ead
int index
SV * sv
int flag
int
my_eadadd(ead, name, sv, flag = 0)
_ead ead
char * name
SV * sv
int flag
MODULE = OS2::ExtAttr PACKAGE = OS2::ExtAttr PREFIX = _ea
void
_ea_free(ptr)
struct _ea * ptr
int
_ea_get(dst, path, handle, name)
struct _ea * dst
char * path
int handle
char * name
int
_ea_put(src, path, handle, name)
struct _ea * src
char * path
int handle
char * name
int
_ea_remove(path, handle, name)
char * path
int handle
char * name
MODULE = OS2::ExtAttr PACKAGE = OS2::ExtAttr PREFIX = _ead
int
_ead_add(ead, name, flags, value, size)
_ead ead
char * name
int flags
void * value
int size
void
_ead_clear(ead)
_ead ead
int
_ead_copy(dst_ead, src_ead, src_index)
_ead dst_ead
_ead src_ead
int src_index
int
_ead_count(ead)
_ead ead
_ead
_ead_create()
int
_ead_delete(ead, index)
_ead ead
int index
void
_ead_destroy(ead)
_ead ead
int
_ead_fea2list_size(ead)
_ead ead
void *
_ead_fea2list_to_fealist(src)
void * src
void *
_ead_fealist_to_fea2list(src)
void * src
int
_ead_find(ead, name)
_ead ead
char * name
const void *
_ead_get_fea2list(ead)
_ead ead
int
_ead_get_flags(ead, index)
_ead ead
int index
const char *
_ead_get_name(ead, index)
_ead ead
int index
const void *
_ead_get_value(ead, index)
_ead ead
int index
int
_ead_name_len(ead, index)
_ead ead
int index
int
_ead_read(ead, path, handle, flags)
_ead ead
char * path
int handle
int flags
int
_ead_replace(ead, index, flags, value, size)
_ead ead
int index
int flags
void * value
int size
void
_ead_sort(ead)
_ead ead
int
_ead_use_fea2list(ead, src)
_ead ead
void * src
int
_ead_value_size(ead, index)
_ead ead
int index
int
_ead_write(ead, path, handle, flags)
_ead ead
char * path
int handle
int flags
|