mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-30 20:00:19 +02:00
39 lines
1.1 KiB
C
39 lines
1.1 KiB
C
#ifndef GC_OPTIONS_H
|
|
#define GC_OPTIONS_H
|
|
|
|
#include "gc-visibility.h"
|
|
|
|
enum gc_heap_size_policy {
|
|
GC_HEAP_SIZE_FIXED,
|
|
GC_HEAP_SIZE_GROWABLE,
|
|
GC_HEAP_SIZE_ADAPTIVE,
|
|
};
|
|
|
|
enum {
|
|
GC_OPTION_HEAP_SIZE_POLICY,
|
|
GC_OPTION_HEAP_SIZE,
|
|
GC_OPTION_MAXIMUM_HEAP_SIZE,
|
|
GC_OPTION_HEAP_SIZE_MULTIPLIER,
|
|
GC_OPTION_HEAP_EXPANSIVENESS,
|
|
GC_OPTION_PARALLELISM
|
|
};
|
|
|
|
struct gc_options;
|
|
|
|
GC_API_ int gc_option_from_string(const char *str);
|
|
|
|
GC_API_ struct gc_options* gc_allocate_options(void);
|
|
|
|
GC_API_ int gc_options_set_int(struct gc_options *options, int option,
|
|
int value);
|
|
GC_API_ int gc_options_set_size(struct gc_options *options, int option,
|
|
size_t value);
|
|
GC_API_ int gc_options_set_double(struct gc_options *options, int option,
|
|
double value);
|
|
|
|
GC_API_ int gc_options_parse_and_set(struct gc_options *options,
|
|
int option, const char *value);
|
|
GC_API_ int gc_options_parse_and_set_many(struct gc_options *options,
|
|
const char *str);
|
|
|
|
#endif // GC_OPTIONS_H
|