perl-common.h

来自「Linux下的多协议即时通讯程序源代码」· C头文件 代码 · 共 62 行

H
62
字号
#ifndef _PURPLE_PERL_COMMON_H_#define _PURPLE_PERL_COMMON_H_#include <glib.h>#ifdef _WIN32#undef pipe#endif#include <XSUB.h>#include <EXTERN.h>#include <perl.h>#include "plugin.h"#include "value.h"#define is_hvref(o) \	((o) && SvROK(o) && SvRV(o) && (SvTYPE(SvRV(o)) == SVt_PVHV))#define hvref(o) \	(is_hvref(o) ? (HV *)SvRV(o) : NULL);#define PURPLE_PERL_BOOT_PROTO(x) \	void boot_Purple__##x(pTHX_ CV *cv);#define PURPLE_PERL_BOOT(x) \	purple_perl_callXS(boot_Purple__##x, cv, mark)typedef struct{	PurplePlugin *plugin;	char *package;	char *load_sub;	char *unload_sub;	char *prefs_sub;#ifdef PURPLE_GTKPERL	char *gtk_prefs_sub;#endif	char *plugin_action_sub;} PurplePerlScript;void purple_perl_normalize_script_name(char *name);SV *newSVGChar(const char *str);void purple_perl_callXS(void (*subaddr)(pTHX_ CV *cv), CV *cv, SV **mark);void purple_perl_bless_plain(const char *stash, void *object);SV *purple_perl_bless_object(void *object, const char *stash);gboolean purple_perl_is_ref_object(SV *o);void *purple_perl_ref_object(SV *o);int execute_perl(const char *function, int argc, char **args);#if 0gboolean purple_perl_value_from_sv(PurpleValue *value, SV *sv);SV *purple_perl_sv_from_value(const PurpleValue *value);#endifvoid *purple_perl_data_from_sv(PurpleValue *value, SV *sv);SV *purple_perl_sv_from_vargs(const PurpleValue *value, va_list *args,                            void ***copy_arg);#endif /* _PURPLE_PERL_COMMON_H_ */

⌨️ 快捷键说明

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