-
Notifications
You must be signed in to change notification settings - Fork 67
/
pharo.h
84 lines (55 loc) · 2.09 KB
/
pharo.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#pragma once
#include "exportDefinition.h"
#include <stddef.h>
#include <stdio.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include "sq.h"
#include "config.h"
#include "sqPlatformSpecific.h"
#include "interpreter.h"
#include "debug.h"
#include "sqAssert.h"
#ifdef _WIN32
#include <windows.h>
#endif
EXPORT(const char*) getSourceVersion();
EXPORT(const char*) getVMVersion();
EXPORT(char*) getVMName();
EXPORT(void) setVMName(const char* name);
EXPORT(void) setVMPath(const char* path);
char* getImageName();
void setImageName(const char* name);
int getVMArgumentCount();
char* getVMArgument(int index);
int getImageArgumentCount();
char* getImageArgument(int index);
char** getSystemSearchPaths();
char** getPluginPaths();
void setPharoCommandLineParameters(const char** newVMParams, int newVMParamsCount, const char** newImageParams, int newImageParamsCount);
void initGlobalStructure(void);
void ioInitExternalSemaphores(void);
void ceCheckForInterrupts(void);
sqInt nilObject(void);
EXPORT(long long) getVMGMTOffset();
EXPORT(long) aioPoll(long microSeconds);
EXPORT(void) aioInit(void);
void ioInitTime(void);
EXPORT(char*) getFullPath(char const *relativePath, char* fullPath, int fullPathSize);
EXPORT(void) getBasePath(char const *path, char* basePath, int basePathSize);
EXPORT(void) setProcessArguments(int count, const char** args);
EXPORT(void) setProcessEnvironmentVector(const char** environment);
// Get information about the process arguments.
// Only available if the process using the VM has given them before.
EXPORT(int) getProcessArgumentCount();
EXPORT(const char**) getProcessArgumentVector();
EXPORT(const char**) getProcessEnvironmentVector();
void * loadModuleHandle(const char *fileName);
sqInt freeModuleHandle(void *module);
void *getModuleSymbol(void *module, const char *symbol);
void *getHandler(sqInt anExternalObject);
void *readAddress(sqInt anExternalAddress);
EXPORT(int) isVMRunOnWorkerThread();
void setMaxStacksToPrint(sqInt anInteger);
#define allocateMemoryBaseAddress(desiredSize, baseAddress) sqAllocateMemory(desiredSize, desiredSize, baseAddress)