1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-20 22:30:05 +02:00
Leland Lucius 9d465c69de Reapply 5955dbc75295997f273981224ffede70506bc185
Author: Leland Lucius <github@homerow.net>
    Date:   Wed Oct 2 10:17:00 2019 -0500

        Possible fix for bug #590

        This change reduces the risk of LADSPA plugins referencing
        Audacity symbols by using the RTLD_DEEPBIND flag when loading
        the plugins.

        It also addresses an issue specific to the "blop" plugins where
        they load their own libraries (without RTLD_DEEPBIND).

        A much better solution would be to change Audacity's default
        symbol visibility to "hidden" which would expose ONLY symbols
        specificially marked as visible.
2019-12-15 23:24:59 -06:00

36 lines
938 B
C

/* cmtcmd.h -- header for remote action and variable setting interface */
#define var_symb_type 333
#define fn_symb_type 555
#define vec_symb_type 777
#ifdef AMIGA
struct cmd_msg {
struct Message msg;
long symb_type; /* one of var_, fn_, or vec_symb_type */
char *symbol_name;
long the_args[8]; /* args for function call. If var_symb_type,
the_args[0] is the new value. If vec_symb_type,
the_args[0] is index, the_args[1] is new value. */
};
#endif
typedef struct symb_descr {
char *symbol_name;
int symb_type;
int size; /* for array bounds checking */
union {
int *intptr;
int (*routine)();
} ptr;
} symb_descr_node;
int hash_lookup(char *s);
void defvar(char *name, int *addr);
void defvec(char *name, int *addr, int size);
typedef int (*defun_type)();
void defun(char *name, defun_type addr);
#define HASHTYPE symb_descr_node
#include "hash.h"