Defines | Typedefs | Functions | Variables

objs/kite_obj_locate.c File Reference

#include <stdlib.h>
#include <string.h>
#include <assert.h>
#include <sys/stat.h>
#include <dlfcn.h>
#include "kite_object.h"
#include "kite_vm.h"

Defines

#define USER_MODULE_EXTENSION   ".kt"

Typedefs

typedef void(* kite_load_module )(kite_thread_t *, kite_object_t *)

Functions

void kite_set_dylib_path (char *path)
void kite_loader_register (kite_thread_t *thd, char *name, kite_load_module ptr)
kite_object_tkite_dereference_and_load (kite_thread_t *thd, char *class)

Variables

char * kite_dylib_path = LIBRARY_SEARCH_PATH

Define Documentation

#define USER_MODULE_EXTENSION   ".kt"

Typedef Documentation

typedef void(* kite_load_module)(kite_thread_t *, kite_object_t *)

Function Documentation

kite_object_t* kite_dereference_and_load ( kite_thread_t *  thd,
char *  name 
)

Load a Kite module (compiled or bytecode) into memory.

Parameters:
thd The current thread.
name The fully-qualified name of the module to load.
Returns:
The module itself, or NULL if a problem occurred.
Note:
If a problem occurred, thd->exception will be non-NULL.

References kite_add_property(), kite_dylib_path, KITE_FIND_PROPERTY, kite_new_class(), kite_new_exception(), kite_new_list(), kite_set_property(), kite_vm_call_method(), TRUE, and kite_symtab_t::value.

Referenced by kite_new_boolean(), kite_new_exception(), kite_new_float(), kite_new_integer(), kite_new_list(), kite_new_method_bytecode(), kite_new_method_compiled(), kite_new_null(), kite_new_string(), kite_new_string_with_length(), kite_vm_call_method(), and kite_vm_call_operator().

void kite_loader_register ( kite_thread_t *  thd,
char *  name,
kite_load_module  ptr 
)
void kite_set_dylib_path ( char *  path  ) 

Set the dynamic library path.

Parameters:
path The new dynamic library path (separated by colons).

References kite_dylib_path.


Variable Documentation

char* kite_dylib_path = LIBRARY_SEARCH_PATH