mirror of
https://github.com/irssi/irssi.git
synced 2026-08-20 09:02:13 +02:00
38 lines
1.1 KiB
C
38 lines
1.1 KiB
C
|
|
#ifndef __PERL_CORE_H
|
||
|
|
#define __PERL_CORE_H
|
||
|
|
|
||
|
|
typedef struct {
|
||
|
|
char *name; /* unique name */
|
||
|
|
char *package; /* package name */
|
||
|
|
|
||
|
|
/* Script can be loaded from a file, or from some data in memory */
|
||
|
|
char *path; /* FILE: full path for file */
|
||
|
|
char *data; /* DATA: data used for the script */
|
||
|
|
} PERL_SCRIPT_REC;
|
||
|
|
|
||
|
|
extern GSList *perl_scripts;
|
||
|
|
|
||
|
|
/* Initialize perl interpreter */
|
||
|
|
void perl_scripts_init(void);
|
||
|
|
/* Destroy all perl scripts and deinitialize perl interpreter */
|
||
|
|
void perl_scripts_deinit(void);
|
||
|
|
|
||
|
|
/* Load a perl script, path must be a full path. */
|
||
|
|
PERL_SCRIPT_REC *perl_script_load_file(const char *path);
|
||
|
|
/* Load a perl script from given data */
|
||
|
|
PERL_SCRIPT_REC *perl_script_load_data(const char *data);
|
||
|
|
/* Unload perl script */
|
||
|
|
void perl_script_unload(PERL_SCRIPT_REC *script);
|
||
|
|
|
||
|
|
/* Find loaded script by name */
|
||
|
|
PERL_SCRIPT_REC *perl_script_find(const char *name);
|
||
|
|
/* Find loaded script by package */
|
||
|
|
PERL_SCRIPT_REC *perl_script_find_package(const char *package);
|
||
|
|
|
||
|
|
/* Returns full path for the script */
|
||
|
|
char *perl_script_get_path(const char *name);
|
||
|
|
|
||
|
|
void perl_core_init(void);
|
||
|
|
void perl_core_deinit(void);
|
||
|
|
|
||
|
|
#endif
|