⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 extattr.xs

📁 UNIX下perl实现代码
💻 XS
字号:
#ifdef __cplusplusextern "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_eadSV *my_eadvalue(ead, index)	_ead	ead	int	index    CODE:	RETVAL = my_eadvalue(aTHX_ ead, index);    OUTPUT:	RETVALintmy_eadreplace(ead, index, sv, flag = 0)	_ead	ead	int	index	SV *	sv	int	flagintmy_eadadd(ead, name, sv, flag = 0)	_ead	ead	char *	name	SV *	sv	int	flagMODULE = OS2::ExtAttr		PACKAGE = OS2::ExtAttr	PREFIX = _eavoid_ea_free(ptr)	struct _ea *	ptrint_ea_get(dst, path, handle, name)	struct _ea *	dst	char *	path	int	handle	char *	nameint_ea_put(src, path, handle, name)	struct _ea *	src	char *	path	int	handle	char *	nameint_ea_remove(path, handle, name)	char *	path	int	handle	char *	nameMODULE = OS2::ExtAttr		PACKAGE = OS2::ExtAttr	PREFIX = _eadint_ead_add(ead, name, flags, value, size)	_ead	ead	char *	name	int	flags	void *	value	int	sizevoid_ead_clear(ead)	_ead	eadint_ead_copy(dst_ead, src_ead, src_index)	_ead	dst_ead	_ead	src_ead	int	src_indexint_ead_count(ead)	_ead	ead_ead_ead_create()int_ead_delete(ead, index)	_ead	ead	int	indexvoid_ead_destroy(ead)	_ead	eadint_ead_fea2list_size(ead)	_ead	eadvoid *_ead_fea2list_to_fealist(src)	void *	srcvoid *_ead_fealist_to_fea2list(src)	void *	srcint_ead_find(ead, name)	_ead	ead	char *	nameconst void *_ead_get_fea2list(ead)	_ead	eadint_ead_get_flags(ead, index)	_ead	ead	int	indexconst char *_ead_get_name(ead, index)	_ead	ead	int	indexconst void *_ead_get_value(ead, index)	_ead	ead	int	indexint_ead_name_len(ead, index)	_ead	ead	int	indexint_ead_read(ead, path, handle, flags)	_ead	ead	char *	path	int	handle	int	flagsint_ead_replace(ead, index, flags, value, size)	_ead	ead	int	index	int	flags	void *	value	int	sizevoid_ead_sort(ead)	_ead	eadint_ead_use_fea2list(ead, src)	_ead	ead	void *	srcint_ead_value_size(ead, index)	_ead	ead	int	indexint_ead_write(ead, path, handle, flags)	_ead	ead	char *	path	int	handle	int	flags

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -