X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fos.h;h=7eb58f19c9855e007520d477e0e51b4d31bdc2a5;hb=854a7c8f6987e05b6aebe186f30b7e125693afaf;hp=7d24639b4ea8ac3f7b9ba06cc196ed90f11ac182;hpb=79cc569a97e444389350ea3f5b1017374fe16bec;p=sbcl.git diff --git a/src/runtime/os.h b/src/runtime/os.h index 7d24639..7eb58f1 100644 --- a/src/runtime/os.h +++ b/src/runtime/os.h @@ -50,7 +50,7 @@ extern os_vm_size_t os_vm_page_size; /* Do anything we need to do when starting up the runtime environment * in this OS. */ -extern void os_init(void); +extern void os_init(char *argv[], char *envp[]); /* Install any OS-dependent low-level signal handlers which are needed * by the runtime environment. E.g. the signals raised by a violation @@ -144,17 +144,10 @@ sigset_t *os_context_sigmask_addr(os_context_t *context); /* These are not architecture-specific functions, but are instead * general utilities defined in terms of the architecture-specific * function os_validate(..) and os_invalidate(..). - * - * FIXME: os_reallocate(..) is complicated and seems no longer to be - * used for anything. Perhaps we could delete it? */ + */ extern os_vm_address_t os_allocate(os_vm_size_t len); -extern os_vm_address_t os_allocate_at(os_vm_address_t addr, os_vm_size_t len); -extern os_vm_address_t os_reallocate(os_vm_address_t addr, - os_vm_size_t old_len, - os_vm_size_t len); extern void os_deallocate(os_vm_address_t addr, os_vm_size_t len); - /* FIXME: The os_trunc_foo(..) and os_round_foo(..) macros here could * be functions. */ @@ -179,4 +172,9 @@ extern void os_deallocate(os_vm_address_t addr, os_vm_size_t len); * to return the value in a way that Lisp can understand. */ int os_get_errno(void); +/* Return an absolute path to the runtime executable, or NULL if this + * information is unavailable. If a non-null pathname is returned, it + * must be 'free'd. */ +extern char *os_get_runtime_executable_path(); + #endif