ec3dbcb60b
FossilOrigin-Name: 808322f63ddc7af32b994c9101b241ca9caabfc9c0ddef55fcb2f07d54251b8a
43 lines
1.6 KiB
C
43 lines
1.6 KiB
C
/*
|
|
* Treebird - Lightweight frontend for Pleroma
|
|
* Copyright (C) 2022 Nekobit
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU Affero General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU Affero General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Affero General Public License
|
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#ifndef GLOBAL_PERL_H
|
|
#define GLOBAL_PERL_H
|
|
#include <EXTERN.h>
|
|
#include <perl.h>
|
|
#include <pthread.h>
|
|
|
|
// hv_stores(ssn_hv, "id", newSVpv(acct->id, 0));
|
|
#define hvstores_str(hv, key, val) hv_stores((hv), key, ((val) ? newSVpv((val), 0) : &PL_sv_undef))
|
|
#define hvstores_int(hv, key, val) hv_stores((hv), key, newSViv((val)))
|
|
#define hvstores_ref(hv, key, val) hv_stores((hv), key, \
|
|
((val) ? newRV_inc((SV* const)(val)) : &PL_sv_undef))
|
|
|
|
extern PerlInterpreter* my_perl;
|
|
extern HV* template_files;
|
|
extern pthread_mutex_t perllock_mutex;
|
|
|
|
#define perl_lock() do { pthread_mutex_lock(&perllock_mutex); } while (0)
|
|
#define perl_unlock() do { pthread_mutex_unlock(&perllock_mutex); } while (0)
|
|
|
|
#define ARG_UNDEFINED() do { XPUSHs(&PL_sv_undef); } while (0)
|
|
|
|
void init_template_files(pTHX);
|
|
void cleanup_template_files();
|
|
|
|
#endif /* GLOBAL_PERL_H */
|