aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2010-11-28 18:27:48 +0000
committerdos-reis <gdr@axiomatics.org>2010-11-28 18:27:48 +0000
commita53a740a2a1cb6cbfa58cc79caedd4e947ff1ca0 (patch)
tree457424993ac0beaa92f79d5304570d9c6f88edfc
parentbbb5a69f0f2348adbbb8db960e5e45306b865683 (diff)
downloadopen-axiom-a53a740a2a1cb6cbfa58cc79caedd4e947ff1ca0.tar.gz
* clef/: Add using directive at toplevel.
* etc/: Likewise. * graph/: Likewise. * hyper/: Likewise. * lib/: Likewise. * sman/: Likewise. * Makefile.am (OA_SMAN_TARGETS): New. (OA_GRAPHICS_TARGETS): Likewise.
-rw-r--r--ChangeLog6
-rw-r--r--config/open-axiom.m42
-rwxr-xr-xconfigure24
-rw-r--r--configure.ac4
-rw-r--r--src/ChangeLog11
-rw-r--r--src/Makefile.am7
-rw-r--r--src/Makefile.in7
-rw-r--r--src/clef/edible.c2
-rw-r--r--src/driver/main.c33
-rw-r--r--src/driver/utils.c97
-rw-r--r--src/driver/utils.h52
-rw-r--r--src/etc/asq.c.pamphlet1
-rw-r--r--src/graph/Gdraws/Gfun.c2
-rw-r--r--src/graph/include/sselect.H12
-rw-r--r--src/graph/view2D/main2d.c2
-rw-r--r--src/graph/view2D/process2d.c4
-rw-r--r--src/graph/view2D/viewport2D.c2
-rw-r--r--src/graph/view3D/main3d.c2
-rw-r--r--src/graph/view3D/process3d.c2
-rw-r--r--src/graph/viewAlone/spoon2D.c2
-rw-r--r--src/graph/viewAlone/spoonComp.c2
-rw-r--r--src/graph/viewman/fun2D.c2
-rw-r--r--src/graph/viewman/fun3D.c2
-rw-r--r--src/graph/viewman/globalsM.h2
-rw-r--r--src/graph/viewman/sselect.c6
-rw-r--r--src/graph/viewman/viewman.c6
-rw-r--r--src/hyper/addfile.c2
-rw-r--r--src/hyper/ex2ht.c2
-rw-r--r--src/hyper/extent2.c2
-rw-r--r--src/hyper/htadd.c3
-rw-r--r--src/hyper/htinp.c2
-rw-r--r--src/hyper/htsearch.cc3
-rw-r--r--src/hyper/hyper.c2
-rw-r--r--src/hyper/hyper.h6
-rw-r--r--src/hyper/initx.c2
-rw-r--r--src/hyper/lex.c8
-rw-r--r--src/hyper/node.h2
-rw-r--r--src/hyper/parse-types.c2
-rw-r--r--src/hyper/parse.c2
-rw-r--r--src/hyper/spadbuf.c4
-rw-r--r--src/hyper/spadint.c2
-rw-r--r--src/hyper/titlebar.c2
-rw-r--r--src/include/cfuns.h14
-rw-r--r--src/include/open-axiom.h72
-rw-r--r--src/include/sockio.h32
-rw-r--r--src/lib/cfuns-c.c19
-rw-r--r--src/lib/fnct_key.c2
-rw-r--r--src/lib/sockio-c.c58
-rw-r--r--src/lib/util.c2
-rw-r--r--src/sman/session.c12
-rw-r--r--src/sman/sman.c31
-rw-r--r--src/sman/spadclient.c2
52 files changed, 339 insertions, 235 deletions
diff --git a/ChangeLog b/ChangeLog
index f0c13ddf..f83aa329 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2010-11-28 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * configure.ac: Fix thinko.
+ * config/open-axiom.m4: Don't prepend 'openaxiom' to the name of
+ runtime.
+
2010-11-27 Gabriel Dos Reis <gdr@cs.tamu.edu>
* config/open-axiom.m4 (axiom_src_all): Remove.
diff --git a/config/open-axiom.m4 b/config/open-axiom.m4
index caf6d599..c26b4cde 100644
--- a/config/open-axiom.m4
+++ b/config/open-axiom.m4
@@ -169,7 +169,7 @@ fi
AC_MSG_RESULT([$axiom_lisp_flavor])
AC_DEFINE_UNQUOTED([OPENAXIOM_BASE_RTS],
- [openaxiom_${axiom_lisp_flavor}_runtime],
+ [${axiom_lisp_flavor}_runtime],
[The kind of base runtime system for this build.])
])
diff --git a/configure b/configure
index d8013525..34702c27 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.65 for OpenAxiom 1.4.0-2010-11-27.
+# Generated by GNU Autoconf 2.65 for OpenAxiom 1.4.0-2010-11-28.
#
# Report bugs to <open-axiom-bugs@lists.sf.net>.
#
@@ -701,8 +701,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='OpenAxiom'
PACKAGE_TARNAME='openaxiom'
-PACKAGE_VERSION='1.4.0-2010-11-27'
-PACKAGE_STRING='OpenAxiom 1.4.0-2010-11-27'
+PACKAGE_VERSION='1.4.0-2010-11-28'
+PACKAGE_STRING='OpenAxiom 1.4.0-2010-11-28'
PACKAGE_BUGREPORT='open-axiom-bugs@lists.sf.net'
PACKAGE_URL=''
@@ -1491,7 +1491,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures OpenAxiom 1.4.0-2010-11-27 to adapt to many kinds of systems.
+\`configure' configures OpenAxiom 1.4.0-2010-11-28 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1566,7 +1566,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of OpenAxiom 1.4.0-2010-11-27:";;
+ short | recursive ) echo "Configuration of OpenAxiom 1.4.0-2010-11-28:";;
esac
cat <<\_ACEOF
@@ -1677,7 +1677,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-OpenAxiom configure 1.4.0-2010-11-27
+OpenAxiom configure 1.4.0-2010-11-28
generated by GNU Autoconf 2.65
Copyright (C) 2009 Free Software Foundation, Inc.
@@ -2569,7 +2569,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by OpenAxiom $as_me 1.4.0-2010-11-27, which was
+It was created by OpenAxiom $as_me 1.4.0-2010-11-28, which was
generated by GNU Autoconf 2.65. Invocation command line was
$ $0 $@
@@ -5468,7 +5468,7 @@ fi
# Define the identity of the package.
PACKAGE='openaxiom'
- VERSION='1.4.0-2010-11-27'
+ VERSION='1.4.0-2010-11-28'
cat >>confdefs.h <<_ACEOF
@@ -5747,7 +5747,7 @@ $as_echo "$axiom_lisp_flavor" >&6; }
cat >>confdefs.h <<_ACEOF
-#define OPENAXIOM_BASE_RTS openaxiom_${axiom_lisp_flavor}_runtime
+#define OPENAXIOM_BASE_RTS ${axiom_lisp_flavor}_runtime
_ACEOF
@@ -20131,7 +20131,7 @@ fi
- if test $axiom_use_x = xyes; then
+ if test x$axiom_use_x = xyes; then
OA_BUILD_GRAPHICS_TRUE=
OA_BUILD_GRAPHICS_FALSE='#'
else
@@ -20961,7 +20961,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by OpenAxiom $as_me 1.4.0-2010-11-27, which was
+This file was extended by OpenAxiom $as_me 1.4.0-2010-11-28, which was
generated by GNU Autoconf 2.65. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -21027,7 +21027,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-OpenAxiom config.status 1.4.0-2010-11-27
+OpenAxiom config.status 1.4.0-2010-11-28
configured by $0, generated by GNU Autoconf 2.65,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index 710ed658..298e8526 100644
--- a/configure.ac
+++ b/configure.ac
@@ -33,7 +33,7 @@ dnl Makefiles for building OpenAxiom interpreter, compiler, libraries, and
dnl auxiliary tools where appropriate.
dnl
-AC_INIT([OpenAxiom], [1.4.0-2010-11-27],
+AC_INIT([OpenAxiom], [1.4.0-2010-11-28],
[open-axiom-bugs@lists.sf.net])
dnl Most of the macros used in this configure.ac are defined in files
@@ -95,7 +95,7 @@ OPENAXIOM_CHECK_CORE_SUPPORT
OPENAXIOM_CHECK_IO
AM_CONDITIONAL([OA_BUILD_SMAN], [test $oa_use_sman = 1])
OPENAXIOM_CHECK_GRAPHICS
-AM_CONDITIONAL([OA_BUILD_GRAPHICS], [test $axiom_use_x = xyes])
+AM_CONDITIONAL([OA_BUILD_GRAPHICS], [test x$axiom_use_x = xyes])
OPENAXIOM_FFI_TYPE_TABLE
OPENAXIOM_GCL_BUILD_OPTIONS
diff --git a/src/ChangeLog b/src/ChangeLog
index f342236d..3b34f6b2 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,14 @@
+2010-11-28 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * clef/: Add using directive at toplevel.
+ * etc/: Likewise.
+ * graph/: Likewise.
+ * hyper/: Likewise.
+ * lib/: Likewise.
+ * sman/: Likewise.
+ * Makefile.am (OA_SMAN_TARGETS): New.
+ (OA_GRAPHICS_TARGETS): Likewise.
+
2010-11-27 Gabriel Dos Reis <gdr@cs.tamu.edu>
* lib/Makefile.in: Build libopen-axiom-core and libspad with a C++
diff --git a/src/Makefile.am b/src/Makefile.am
index 60024a43..680b71a1 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -39,13 +39,12 @@ DIST_SUBDIRS = \
oa_targetdir = $(top_builddir)/$(target)
-OA_OPTIONAL_TARGETS=
if OA_BUILD_SMAN
-OA_OPTIONAL_TARGETS += all-sman all-clef
+OA_SMAN_TARGETS = all-sman all-clef
endif
if OA_BUILD_GRAPHICS
-OA_OPTIONAL_TARGETS += all-graph
+OA_GRAPHICS_TARGETS = all-graph
endif
@@ -54,7 +53,7 @@ all-local: all-src
.PHONY: all-src
all-src: all-lib all-utils all-driver all-lisp all-boot \
all-interpsys all-algebra all-axiomsys all-share \
- all-asq all-input all-doc $(OA_OPTIONAL_TARGETS)
+ all-asq all-input all-doc $(OA_SMAN_TARGETS) $(OA_GRAPHICS_TARGETS)
stamp-subdirs:
rm -f stamp-subdirs
diff --git a/src/Makefile.in b/src/Makefile.in
index 0d210a20..6e980cb1 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -66,8 +66,6 @@ POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
-@OA_BUILD_SMAN_TRUE@am__append_1 = all-sman all-clef
-@OA_BUILD_GRAPHICS_TRUE@am__append_2 = all-graph
subdir = src
SUBDIRS =
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ChangeLog
@@ -301,7 +299,8 @@ DIST_SUBDIRS = \
testsuite utils
oa_targetdir = $(top_builddir)/$(target)
-OA_OPTIONAL_TARGETS = $(am__append_1) $(am__append_2)
+@OA_BUILD_SMAN_TRUE@OA_SMAN_TARGETS = all-sman all-clef
+@OA_BUILD_GRAPHICS_TRUE@OA_GRAPHICS_TARGETS = all-graph
all: all-recursive
.SUFFIXES:
@@ -652,7 +651,7 @@ all-local: all-src
.PHONY: all-src
all-src: all-lib all-utils all-driver all-lisp all-boot \
all-interpsys all-algebra all-axiomsys all-share \
- all-asq all-input all-doc $(OA_OPTIONAL_TARGETS)
+ all-asq all-input all-doc $(OA_SMAN_TARGETS) $(OA_GRAPHICS_TARGETS)
stamp-subdirs:
rm -f stamp-subdirs
diff --git a/src/clef/edible.c b/src/clef/edible.c
index 918d354b..f4116f3d 100644
--- a/src/clef/edible.c
+++ b/src/clef/edible.c
@@ -58,6 +58,8 @@
#include "fnct_key.h"
#include "cfuns.h"
+using namespace OpenAxiom;
+
#ifdef AXIOM_UNLIKELY
#define log 1
#define logterm 1
diff --git a/src/driver/main.c b/src/driver/main.c
index 7a7bc161..002ccef8 100644
--- a/src/driver/main.c
+++ b/src/driver/main.c
@@ -48,6 +48,8 @@
#define OPENAXIOM_GLOBAL_ENV "AXIOM"
+namespace OpenAxiom {
+
/* Publish the system exec prefix for use by sub-processes. */
static void
publish_systemdir(const char* dir)
@@ -87,7 +89,7 @@ upgrade_environment(const char* sysdir) {
/* Print configuration info. */
static int
-print_configuration_info(openaxiom_command* command) {
+print_configuration_info(Command* command) {
int i;
for (i = 1; i < command->core.argc; ++i) {
if (strcmp(command->core.argv[i], "include") == 0)
@@ -104,35 +106,35 @@ print_configuration_info(openaxiom_command* command) {
return 0;
}
+}
int
main(int argc, char* argv[])
{
- openaxiom_command command = { };
- openaxiom_driver driver =
- openaxiom_preprocess_arguments(&command, argc, argv);
+ using namespace OpenAxiom;
+ Command command = { };
+ Driver driver = preprocess_arguments(&command, argc, argv);
upgrade_environment(command.root_dir);
switch (driver) {
- case openaxiom_null_driver:
+ case null_driver:
return 0; /* Bye. */
- case openaxiom_config_driver:
+ case config_driver:
return print_configuration_info(&command);
- case openaxiom_core_driver:
- case openaxiom_script_driver:
- case openaxiom_compiler_driver:
+ case core_driver:
+ case script_driver:
+ case compiler_driver:
putenv("LC_ALL=C");
setlocale(LC_ALL, "");
- return openaxiom_execute_core(&command, driver);
+ return execute_core(&command, driver);
- case openaxiom_execute_driver:
+ case execute_driver:
return oa_spawn(&command.core,
- openaxiom_spawn_flags
- (openaxiom_spawn_search_path | openaxiom_spawn_replace));
+ SpawnFlags(spawn_search_path | spawn_replace));
- case openaxiom_sman_driver:
+ case sman_driver:
break;
default:
@@ -143,8 +145,7 @@ main(int argc, char* argv[])
/* Should not happen on MS platforms. */
abort();
#else /* __WIN32__ */
- execv(openaxiom_make_path_for(command.root_dir, openaxiom_sman_driver),
- argv);
+ execv(make_path_for(command.root_dir, sman_driver), argv);
perror(strerror(errno));
return -1;
#endif /* __WIN32__ */
diff --git a/src/driver/utils.c b/src/driver/utils.c
index 6914c5ac..5122ca9b 100644
--- a/src/driver/utils.c
+++ b/src/driver/utils.c
@@ -37,6 +37,8 @@
#include <stdio.h>
#include "utils.h"
+namespace OpenAxiom {
+
/* The basename of the file holding the OpenAxiom core executable. */
#define OPENAXIOM_CORE_EXECUTABLE \
"AXIOMsys" OPENAXIOM_EXEEXT
@@ -64,7 +66,7 @@
/* Return a path to the running system, either as specified on command
line through --system=, or as specified at configuration time. */
const char*
-openaxiom_get_systemdir(int argc, char* argv[])
+get_systemdir(int argc, char* argv[])
{
int i;
@@ -84,15 +86,15 @@ openaxiom_get_systemdir(int argc, char* argv[])
/* Return the path to `driver'. */
static const char*
-get_driver_name(openaxiom_driver driver)
+get_driver_name(Driver driver)
{
switch (driver) {
- case openaxiom_sman_driver:
+ case sman_driver:
return OPENAXIOM_SMAN_PATH;
- case openaxiom_script_driver:
- case openaxiom_compiler_driver:
- case openaxiom_core_driver:
+ case script_driver:
+ case compiler_driver:
+ case core_driver:
return OPENAXIOM_CORE_PATH;
default:
@@ -103,7 +105,7 @@ get_driver_name(openaxiom_driver driver)
/* Return a path for PROG specified as a relative path to PREFIX. */
const char*
-openaxiom_make_path_for(const char* prefix, openaxiom_driver driver)
+make_path_for(const char* prefix, Driver driver)
{
const int prefix_length = strlen(prefix);
const char* prog = get_driver_name(driver);
@@ -116,7 +118,7 @@ openaxiom_make_path_for(const char* prefix, openaxiom_driver driver)
/* Allocate a nul-terminated vector for holding pointers to arguments
for the base Lisp runtime. */
static void
-openaxiom_allocate_argv(openaxiom_command* command, int n) {
+openaxiom_allocate_argv(Command* command, int n) {
command->rt_argc = n;
command->rt_argv = (char**) malloc((n + 1) * sizeof(char*));
command->rt_argv[n] = 0;
@@ -125,23 +127,22 @@ openaxiom_allocate_argv(openaxiom_command* command, int n) {
/* Build arguments, if any, to be supplied to the runtime system
of `driver'. */
void
-openaxiom_build_rts_options(openaxiom_command* command,
- openaxiom_driver driver)
+build_rts_options(Command* command, Driver driver)
{
switch (driver) {
- case openaxiom_config_driver:
- case openaxiom_sman_driver:
- case openaxiom_execute_driver:
- case openaxiom_unknown_driver:
+ case config_driver:
+ case sman_driver:
+ case execute_driver:
+ case unknown_driver:
break;
- case openaxiom_core_driver:
+ case core_driver:
break;
- case openaxiom_compiler_driver:
- case openaxiom_script_driver:
+ case compiler_driver:
+ case script_driver:
switch (OPENAXIOM_BASE_RTS) {
- case openaxiom_gcl_runtime:
+ case gcl_runtime:
openaxiom_allocate_argv(command, 3);
command->rt_argv[0] = (char*) "-batch";
command->rt_argv[1] = (char*) "-eval";
@@ -149,7 +150,7 @@ openaxiom_build_rts_options(openaxiom_command* command,
(char*) ("(" OPENAXIOM_LISP_CORE_ENTRY_POINT ")");
break;
- case openaxiom_sbcl_runtime:
+ case sbcl_runtime:
openaxiom_allocate_argv(command, 4);
command->rt_argv[0] = (char*) "--noinform";
command->rt_argv[1] = (char*) "--end-runtime-options";
@@ -157,13 +158,13 @@ openaxiom_build_rts_options(openaxiom_command* command,
command->rt_argv[3] = (char*) "--end-toplevel-options";
break;
- case openaxiom_clozure_runtime:
+ case clozure_runtime:
openaxiom_allocate_argv(command, 2);
command->rt_argv[0] = (char*) "--quiet";
command->rt_argv[1] = (char*) "--batch";
break;
- case openaxiom_clisp_runtime:
+ case clisp_runtime:
openaxiom_allocate_argv(command, 2);
command->rt_argv[0] = (char*) "--quiet";
command->rt_argv[1] = (char*) "-norc";
@@ -180,9 +181,9 @@ openaxiom_build_rts_options(openaxiom_command* command,
}
#if OPENAXIOM_USE_SMAN
-# define OPENAXIOM_DEFAULT_DRIVER openaxiom_sman_driver
+# define OPENAXIOM_DEFAULT_DRIVER sman_driver
#else
-# define OPENAXIOM_DEFAULT_DRIVER openaxiom_core_driver
+# define OPENAXIOM_DEFAULT_DRIVER core_driver
#endif
@@ -235,44 +236,43 @@ static void print_usage(void) {
}
/* Determine driver to be used for executing `command'. */
-openaxiom_driver
-openaxiom_preprocess_arguments(openaxiom_command* command,
- int argc, char** argv)
+Driver
+preprocess_arguments(Command* command, int argc, char** argv)
{
int i;
int other = 1;
int files = 0;
- openaxiom_driver driver = openaxiom_unknown_driver;
+ Driver driver = unknown_driver;
- command->root_dir = openaxiom_get_systemdir(argc, argv);
+ command->root_dir = get_systemdir(argc, argv);
for (i = 1; i < argc; ++i)
if(strcmp(argv[i], "--no-server") == 0)
- driver = openaxiom_core_driver;
+ driver = core_driver;
else if (strcmp(argv[i], "--server") == 0)
- driver = openaxiom_sman_driver;
+ driver = sman_driver;
else if (strcmp(argv[i], "--config") == 0)
- driver = openaxiom_config_driver;
+ driver = config_driver;
else if (strcmp(argv[i], "--execute") == 0) {
- driver = openaxiom_execute_driver;
+ driver = execute_driver;
break;
}
else if (strcmp(argv[i], "--help") == 0) {
print_usage();
- driver = openaxiom_null_driver;
+ driver = null_driver;
break;
}
else if (strcmp(argv[i], "--version") == 0) {
print_version();
- driver = openaxiom_null_driver;
+ driver = null_driver;
break;
}
else {
/* Apparently we will invoke the Core system; we need to
pass on this option. */
if (strcmp(argv[i], "--script") == 0)
- driver = openaxiom_script_driver;
+ driver = script_driver;
else if(strcmp(argv[i], "--compile") == 0)
- driver = openaxiom_compiler_driver;
+ driver = compiler_driver;
else {
if (argv[i][0] == '-')
/* Maybe option for the driver. */
@@ -289,7 +289,7 @@ openaxiom_preprocess_arguments(openaxiom_command* command,
}
/* Determine argument vector. */
- if (driver == openaxiom_execute_driver) {
+ if (driver == execute_driver) {
command->core.argc = argc - i - 1;
command->core.argv = argv + i + 1;
}
@@ -298,13 +298,13 @@ openaxiom_preprocess_arguments(openaxiom_command* command,
command->core.argv = argv;
}
- if (driver != openaxiom_null_driver) {
+ if (driver != null_driver) {
/* If we have a file but not instructed to compile, assume
we are asked to interpret a script. */
if (files > 0)
switch (driver) {
- case openaxiom_unknown_driver:
- case openaxiom_sman_driver:
+ case unknown_driver:
+ case sman_driver:
command->core.argc += 1;
command->core.argv =
(char**) malloc((other + 2) * sizeof(char*));
@@ -312,17 +312,17 @@ openaxiom_preprocess_arguments(openaxiom_command* command,
command->core.argv[1] = (char*) "--script";
for (i = 0; i < other; ++i)
command->core.argv[2 + i] = argv[1 + i];
- driver = openaxiom_script_driver;
+ driver = script_driver;
break;
default:
/* Driver specified by user. */
break;
}
- else if (driver == openaxiom_unknown_driver)
+ else if (driver == unknown_driver)
driver = OPENAXIOM_DEFAULT_DRIVER;
command->core.argv[command->core.argc] = NULL;
- openaxiom_build_rts_options(command, driver);
+ build_rts_options(command, driver);
}
return driver;
}
@@ -334,10 +334,9 @@ openaxiom_preprocess_arguments(openaxiom_command* command,
POSIX systems, this is a non-return function on success.
See execv(). */
int
-openaxiom_execute_core(const openaxiom_command* command,
- openaxiom_driver driver)
+execute_core(const Command* command, Driver driver)
{
- char* execpath = (char*) openaxiom_make_path_for(command->root_dir, driver);
+ char* execpath = (char*) make_path_for(command->root_dir, driver);
#ifdef __WIN32__
char* command_line;
int cur = strlen(command->core.argv[0]);
@@ -410,11 +409,11 @@ openaxiom_execute_core(const openaxiom_command* command,
malloc(sizeof (char*) * (command->rt_argc + command->core.argc + 2));
/* GCL has this oddity that it wants to believe that argv[0] has
something to tell about what GCL's own runtime is. Silly. */
- if (OPENAXIOM_BASE_RTS == openaxiom_gcl_runtime)
+ if (OPENAXIOM_BASE_RTS == gcl_runtime)
args[0] = (char*) "";
/* And CLISP wants to believe that argv[0] is where it hides stuff
from the saved image. */
- else if (OPENAXIOM_BASE_RTS == openaxiom_clisp_runtime)
+ else if (OPENAXIOM_BASE_RTS == clisp_runtime)
args[0] = execpath;
else
args[0] = command->core.argv[0];
@@ -442,3 +441,5 @@ openaxiom_execute_core(const openaxiom_command* command,
return -1;
#endif /* __WIN32__ */
}
+
+}
diff --git a/src/driver/utils.h b/src/driver/utils.h
index 8f56ba45..4f973973 100644
--- a/src/driver/utils.h
+++ b/src/driver/utils.h
@@ -42,45 +42,47 @@
# include <windows.h>
#endif
+namespace OpenAxiom {
+
/* A list of drivers for OpenAxiom. */
-enum openaxiom_driver {
- openaxiom_unknown_driver, /* unknown driver */
- openaxiom_null_driver, /* do nothing */
- openaxiom_config_driver, /* print out configuration information */
- openaxiom_sman_driver, /* start Superman as master process */
- openaxiom_core_driver, /* start the core system as master process */
- openaxiom_script_driver, /* start the core system in script mode. */
- openaxiom_compiler_driver, /* start the core system in compiler mode. */
- openaxiom_execute_driver /* Execute a command. */
+enum Driver {
+ unknown_driver, /* unknown driver */
+ null_driver, /* do nothing */
+ config_driver, /* print out configuration information */
+ sman_driver, /* start Superman as master process */
+ core_driver, /* start the core system as master process */
+ script_driver, /* start the core system in script mode. */
+ compiler_driver, /* start the core system in compiler mode. */
+ execute_driver /* Execute a command. */
};
/* A list of runtime support systems for OpenAxiom. */
-enum openaxiom_runtime {
- openaxiom_unknown_runtime,
- openaxiom_gcl_runtime, /* GCL-based runtime */
- openaxiom_sbcl_runtime, /* SBCL-based runtime */
- openaxiom_clisp_runtime, /* CLISP-based runtime */
- openaxiom_ecl_runtime, /* ECL-based runtime */
- openaxiom_clozure_runtime, /* Clozure CL-based runtime */
- openaxiom_bemol_runtime /* Bemol-based runtime */
+enum Runtime {
+ unknown_runtime,
+ gcl_runtime, /* GCL-based runtime */
+ sbcl_runtime, /* SBCL-based runtime */
+ clisp_runtime, /* CLISP-based runtime */
+ ecl_runtime, /* ECL-based runtime */
+ clozure_runtime, /* Clozure CL-based runtime */
+ bemol_runtime /* Bemol-based runtime */
};
/* A description of external command to be executed. */
-struct openaxiom_command {
- openaxiom_process core; /* arguments for actual executable. */
+struct Command {
+ Process core; /* arguments for actual executable. */
char** rt_argv; /* arguments to the base RT, if any. */
int rt_argc; /* number of such arguments. */
const char* root_dir; /* path to the OpenAxiom system. */
};
-const char* openaxiom_get_systemdir(int argc, char*[]);
-const char* openaxiom_make_path_for(const char*, openaxiom_driver);
+const char* get_systemdir(int argc, char*[]);
+const char* make_path_for(const char*, Driver);
-int openaxiom_execute_core(const openaxiom_command*, openaxiom_driver);
-void openaxiom_build_rts_options(openaxiom_command*, openaxiom_driver);
+int execute_core(const Command*, Driver);
+void build_rts_options(Command*, Driver);
-openaxiom_driver
- openaxiom_preprocess_arguments(openaxiom_command*, int, char**);
+Driver preprocess_arguments(Command*, int, char**);
+}
#endif /* OPENAXIOM_UTILS_INCLUDED */
diff --git a/src/etc/asq.c.pamphlet b/src/etc/asq.c.pamphlet
index a5f37be0..f5c0c8b1 100644
--- a/src/etc/asq.c.pamphlet
+++ b/src/etc/asq.c.pamphlet
@@ -533,6 +533,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <string.h>
#include "cfuns.h"
+using namespace OpenAxiom;
/* we need to predeclare some functions so their signatures are known */
int printandor(char *list);
diff --git a/src/graph/Gdraws/Gfun.c b/src/graph/Gdraws/Gfun.c
index 7052256b..07237838 100644
--- a/src/graph/Gdraws/Gfun.c
+++ b/src/graph/Gdraws/Gfun.c
@@ -48,6 +48,8 @@
#include "Gfun.H1"
#include "cfuns.h"
+using namespace OpenAxiom;
+
/*
* Given 2 file pointers, this function copies file ifp to file ofp
diff --git a/src/graph/include/sselect.H1 b/src/graph/include/sselect.H1
index 9dc75670..46645e0e 100644
--- a/src/graph/include/sselect.H1
+++ b/src/graph/include/sselect.H1
@@ -1,2 +1,2 @@
-extern int superSelect(int n , int * rd , int * wr , int * ex , char * timeout);
+extern int superSelect(int n , fd_set * rd , fd_set * wr , fd_set * ex , timeval * timeout);
diff --git a/src/graph/view2D/main2d.c b/src/graph/view2D/main2d.c
index 5df59398..5642c7ae 100644
--- a/src/graph/view2D/main2d.c
+++ b/src/graph/view2D/main2d.c
@@ -51,6 +51,8 @@
#include "XSpadFill.h"
#include "cfuns.h"
+using namespace OpenAxiom;
+
/**********************/
/** global variables **/
diff --git a/src/graph/view2D/process2d.c b/src/graph/view2D/process2d.c
index eb711bc9..803a2822 100644
--- a/src/graph/view2D/process2d.c
+++ b/src/graph/view2D/process2d.c
@@ -54,6 +54,8 @@
#include "XSpadFill.h"
#include "cfuns.h"
+using namespace OpenAxiom;
+
static int doit=0; /* globish variable for picking/dropping/clearing - all sorts of
2 button sequence events (command & graph #). */
@@ -533,7 +535,7 @@ processEvents(void)
break;
}
if (!followMouse)
- len=select(FD_SETSIZE,(void *) &rd,0,0,0);
+ len=select(FD_SETSIZE, &rd,0,0,0);
else
len=1;
}
diff --git a/src/graph/view2D/viewport2D.c b/src/graph/view2D/viewport2D.c
index ec1f7083..0d5aaf30 100644
--- a/src/graph/view2D/viewport2D.c
+++ b/src/graph/view2D/viewport2D.c
@@ -60,6 +60,8 @@
#include "spadBitmap.bitmap"
#include "spadMask.mask"
+using namespace OpenAxiom;
+
#define rint(z) ((int)(z))
Atom wm_delete_window;
diff --git a/src/graph/view3D/main3d.c b/src/graph/view3D/main3d.c
index 60593094..b00d2b87 100644
--- a/src/graph/view3D/main3d.c
+++ b/src/graph/view3D/main3d.c
@@ -54,6 +54,8 @@
#include "all_3d.H1"
#include "cfuns.h"
+using namespace OpenAxiom;
+
/**********************/
/** global variables **/
/**********************/
diff --git a/src/graph/view3D/process3d.c b/src/graph/view3D/process3d.c
index 5e56825d..dc8540b0 100644
--- a/src/graph/view3D/process3d.c
+++ b/src/graph/view3D/process3d.c
@@ -913,7 +913,7 @@ processEvents(void)
break;
}
if (!followMouse)
- len=select(FD_SETSIZE,(void *)&rd,0,0,0);
+ len=select(FD_SETSIZE, &rd,0,0,0);
else
len=1;
}
diff --git a/src/graph/viewAlone/spoon2D.c b/src/graph/viewAlone/spoon2D.c
index d19b008f..2765ce56 100644
--- a/src/graph/viewAlone/spoon2D.c
+++ b/src/graph/viewAlone/spoon2D.c
@@ -47,6 +47,8 @@
#include "cfuns.h"
#include "all_alone.H1"
+using namespace OpenAxiom;
+
/* #define huhDEBUG */
/* #define spoonDEBUG */
diff --git a/src/graph/viewAlone/spoonComp.c b/src/graph/viewAlone/spoonComp.c
index 8c8dcd0e..b708eed3 100644
--- a/src/graph/viewAlone/spoonComp.c
+++ b/src/graph/viewAlone/spoonComp.c
@@ -47,6 +47,8 @@
#include "cfuns.h"
#include "all_alone.H1"
+using namespace OpenAxiom;
+
/* This file forks a child process and exits the parent. It
diff --git a/src/graph/viewman/fun2D.c b/src/graph/viewman/fun2D.c
index 7027a40b..02810ffe 100644
--- a/src/graph/viewman/fun2D.c
+++ b/src/graph/viewman/fun2D.c
@@ -52,6 +52,8 @@
#include "make2D.H1"
#include "cfuns.h"
+using namespace OpenAxiom;
+
#define writeEach
void
diff --git a/src/graph/viewman/fun3D.c b/src/graph/viewman/fun3D.c
index f277a442..a0ced1b6 100644
--- a/src/graph/viewman/fun3D.c
+++ b/src/graph/viewman/fun3D.c
@@ -52,6 +52,8 @@
#include "readView.H1"
#include "cfuns.h"
+using namespace OpenAxiom;
+
void
funView3D(int viewCommand)
{
diff --git a/src/graph/viewman/globalsM.h b/src/graph/viewman/globalsM.h
index cce83265..0dd1690b 100644
--- a/src/graph/viewman/globalsM.h
+++ b/src/graph/viewman/globalsM.h
@@ -34,7 +34,7 @@
*/
extern viewManager *viewports,*slot,*stepSlot;
-extern openaxiom_sio* spadSock;
+extern OpenAxiom::openaxiom_sio* spadSock;
extern int viewType, viewCommand;
extern fd_set filedes;
extern int acknow;
diff --git a/src/graph/viewman/sselect.c b/src/graph/viewman/sselect.c
index 0e56e9a7..68a3f869 100644
--- a/src/graph/viewman/sselect.c
+++ b/src/graph/viewman/sselect.c
@@ -60,14 +60,14 @@
*******************************************/
int
-superSelect(int n, int *rd, int *wr, int *ex, char *timeout)
+superSelect(int n, fd_set *rd, fd_set *wr, fd_set *ex, timeval *timeout)
{
int waiting;
viewManager *viewport;
int ret_val;
- ret_val = select(n, (void *)rd, (void *)wr, (void *)ex, (void *)timeout);
+ ret_val = select(n, rd, wr, ex, timeout);
while (ret_val == -1 && errno == EINTR) {
/* checkClosedChild gets set by the SIGCHLD handler */
if (checkClosedChild) {
@@ -84,7 +84,7 @@ superSelect(int n, int *rd, int *wr, int *ex, char *timeout)
bsdSignal(OPENAXIOM_SIGCHLD,endChild,DontRestartSystemCalls);
}
}
- ret_val = select(n, (void *)rd, (void *)wr, (void *)ex, (void *)timeout);
+ ret_val = select(n, rd, wr, ex, timeout);
}
return ret_val;
}
diff --git a/src/graph/viewman/viewman.c b/src/graph/viewman/viewman.c
index a8dd4777..5085a3e9 100644
--- a/src/graph/viewman/viewman.c
+++ b/src/graph/viewman/viewman.c
@@ -57,6 +57,8 @@
#include "cleanup.H1"
#include "sselect.H1"
+using namespace OpenAxiom;
+
/************* global variables **************/
Display *dsply;
@@ -125,9 +127,9 @@ main (void)
#ifdef DEBUG
fprintf(stderr,"Selection for filedes of %x \n",filedes);
#endif
- code = check(superSelect(FD_SETSIZE,(void *) &filedes,0,0,0));
+ code = check(superSelect(FD_SETSIZE, &filedes,0,0,0));
for (;code<=0;)
- code = check(superSelect(FD_SETSIZE,(void *)&filedes,0,0,0));
+ code = check(superSelect(FD_SETSIZE, &filedes,0,0,0));
slot = viewports;
keepLooking = 1;
diff --git a/src/hyper/addfile.c b/src/hyper/addfile.c
index 1e6c6b9b..3671b2a5 100644
--- a/src/hyper/addfile.c
+++ b/src/hyper/addfile.c
@@ -46,6 +46,8 @@
#include "sockio.h"
#include "addfile.h"
+/* FIXME: Remove this kludge */
+using namespace OpenAxiom;
static int build_ht_filename(char*, char*, char*);
diff --git a/src/hyper/ex2ht.c b/src/hyper/ex2ht.c
index a109339a..bbb1db14 100644
--- a/src/hyper/ex2ht.c
+++ b/src/hyper/ex2ht.c
@@ -50,6 +50,8 @@
#include "cfuns.h"
+using namespace OpenAxiom;
+
#define MaxLineLength 512
#define MaxFiles 100
diff --git a/src/hyper/extent2.c b/src/hyper/extent2.c
index 56c37777..8a57cd0b 100644
--- a/src/hyper/extent2.c
+++ b/src/hyper/extent2.c
@@ -50,6 +50,8 @@
#include "titlebar.h"
#include "cfuns.h"
+using namespace OpenAxiom;
+
static void center_nodes(TextNode * begin_node , TextNode * end_node);
static int input_string_width(TextNode * node);
static int punctuation_width(TextNode * node);
diff --git a/src/hyper/htadd.c b/src/hyper/htadd.c
index b4dc6121..89d8626a 100644
--- a/src/hyper/htadd.c
+++ b/src/hyper/htadd.c
@@ -52,6 +52,9 @@
#include "addfile.h"
#include "node.h"
+/* FIXME: Remove this kludge */
+using namespace OpenAxiom;
+
static void add_file(char*, char*, int);
static void add_new_pages(FILE*, FILE*, char*, char*);
static int build_db_filename(short, char*, char*);
diff --git a/src/hyper/htinp.c b/src/hyper/htinp.c
index b2065b8e..12964bc4 100644
--- a/src/hyper/htinp.c
+++ b/src/hyper/htinp.c
@@ -48,6 +48,8 @@
#include "cfuns.h"
#include "sockio.h"
+using namespace OpenAxiom;
+
extern char **input_file_list;
extern int input_file_count;
extern int make_patch_files;
diff --git a/src/hyper/htsearch.cc b/src/hyper/htsearch.cc
index d67c6074..ef89a298 100644
--- a/src/hyper/htsearch.cc
+++ b/src/hyper/htsearch.cc
@@ -50,6 +50,9 @@
#include <iostream>
#include "cfuns.h"
+// FIXME: Remove kludge
+using namespace OpenAxiom;
+
// Path to the directory containing the hyperdoc pages.
static std::string htpagedir;
diff --git a/src/hyper/hyper.c b/src/hyper/hyper.c
index 969a9a03..e88f63f0 100644
--- a/src/hyper/hyper.c
+++ b/src/hyper/hyper.c
@@ -63,6 +63,8 @@
#include "sockio.h"
#include "parse.h"
+using namespace OpenAxiom;
+
static void init_hash(void);
static void make_server_connections(void);
static void check_arguments(void);
diff --git a/src/hyper/hyper.h b/src/hyper/hyper.h
index 2abecbaf..c4956a5f 100644
--- a/src/hyper/hyper.h
+++ b/src/hyper/hyper.h
@@ -114,7 +114,7 @@ extern HyperDocPage * issue_server_command(HyperLink * link);
extern HyperDocPage * issue_unixlink(TextNode * node);
extern char * print_to_string(TextNode * command);
extern void issue_spadcommand(HyperDocPage * page , TextNode * command , int immediate , int type);
-extern openaxiom_sio * accept_menu_connection(openaxiom_sio * server_sock);
+extern OpenAxiom::openaxiom_sio * accept_menu_connection(OpenAxiom::openaxiom_sio * server_sock);
extern char * print_to_string1(TextNode * command , int * sizeBuf);
extern int issue_serverpaste(TextNode * command);
extern void issue_unixcommand(TextNode * node);
@@ -173,8 +173,8 @@ extern int gSwitch_to_mono;
extern unsigned long * spadColors;
extern int gIsEndOfOutput;
extern HDWindow *gWindow;
-extern openaxiom_sio *session_server;
-extern openaxiom_sio *spad_socket;
+extern OpenAxiom::openaxiom_sio *session_server;
+extern OpenAxiom::openaxiom_sio *spad_socket;
extern HashTable gFileHashTable;
extern HashTable gImageHashTable; /* A global hash table for images */
extern openaxiom_cursor gNormalCursor; /* The normal mouse cursor. */
diff --git a/src/hyper/initx.c b/src/hyper/initx.c
index c4d212dd..8f072dbd 100644
--- a/src/hyper/initx.c
+++ b/src/hyper/initx.c
@@ -73,6 +73,8 @@ extern int gethostname(char *, int );
#include "mouse11.bitmap"
#include "mouse11.mask"
+using namespace OpenAxiom;
+
static void get_GCs(HDWindow * window);
static int get_border_properties(void);
static int get_color(const char* , const char* , int, Colormap*);
diff --git a/src/hyper/lex.c b/src/hyper/lex.c
index 1b828a08..aa3e4c91 100644
--- a/src/hyper/lex.c
+++ b/src/hyper/lex.c
@@ -66,8 +66,6 @@
#include "debug.h"
#include "sockio.h"
-int useAscii;
-
#define PARSER 1
#include "halloc.h"
@@ -75,10 +73,16 @@ int useAscii;
#include "node.h"
#include "cfuns.h"
+using namespace OpenAxiom;
+
static int get_char1(void );
static void spad_error_handler(void );
static int keyword_type(void );
+
+
+int useAscii;
+
extern int gTtFontIs850;
extern HDWindow *gWindow;
diff --git a/src/hyper/node.h b/src/hyper/node.h
index 38204487..575d4229 100644
--- a/src/hyper/node.h
+++ b/src/hyper/node.h
@@ -265,7 +265,7 @@ typedef struct HyperDocPage {
TextNode *header; /* formatted version of page */
TextNode *scrolling; /* Top of scrolling region */
TextNode *footer; /* top of non-scrolling region at bottom */
- openaxiom_sio *sock; /* socket connection for spad buffer */
+ OpenAxiom::openaxiom_sio *sock; /* socket connection for spad buffer */
HashTable *fLinkHashTable; /* active link hash table */
ButtonList *s_button_list; /* active buttons on page */
ButtonList *button_list; /* active buttons on page */
diff --git a/src/hyper/parse-types.c b/src/hyper/parse-types.c
index 9f0ddeaf..a548347a 100644
--- a/src/hyper/parse-types.c
+++ b/src/hyper/parse-types.c
@@ -52,6 +52,8 @@
#include "extent.h"
#include "cfuns.h"
+using namespace OpenAxiom;
+
static void parse_condnode(void );
static void parse_hasreturnto(void );
diff --git a/src/hyper/parse.c b/src/hyper/parse.c
index 5ef50baf..69527334 100644
--- a/src/hyper/parse.c
+++ b/src/hyper/parse.c
@@ -48,6 +48,8 @@
#include "scrollbar.h"
#include "titlebar.h"
+using namespace OpenAxiom;
+
static void end_a_page(void );
static HyperDocPage * format_page(UnloadedPage * ulpage);
static void parse_page(HyperDocPage * page);
diff --git a/src/hyper/spadbuf.c b/src/hyper/spadbuf.c
index 02f0ebad..e173b86f 100644
--- a/src/hyper/spadbuf.c
+++ b/src/hyper/spadbuf.c
@@ -60,6 +60,8 @@
#include "cursor.h"
#include "fnct_key.h"
+using namespace OpenAxiom;
+
static void spadbuf_inter_handler(int);
static void spadbuf_function_chars(void);
static void interp_io(void);
@@ -137,7 +139,7 @@ interp_io(void)
return;
}
if (FD_ISSET(session_sock->socket, &rd)) {
- len = sread(session_sock, (openaxiom_byte*) buf, 1024, "stdio");
+ len = sread(session_sock, byte_address(buf), 1024, "stdio");
if (len == -1)
return;
else {
diff --git a/src/hyper/spadint.c b/src/hyper/spadint.c
index f872baf8..20d1b2a2 100644
--- a/src/hyper/spadint.c
+++ b/src/hyper/spadint.c
@@ -48,6 +48,8 @@
#include "sockio.h"
#include "cfuns.h"
+using namespace OpenAxiom;
+
static void start_user_buffer(HyperDocPage * page);
static void clear_execution_marks(HashTable * depend_hash);
static void issue_dependent_commands(HyperDocPage * page , TextNode * command , int type);
diff --git a/src/hyper/titlebar.c b/src/hyper/titlebar.c
index 90dfabf4..6cf37472 100644
--- a/src/hyper/titlebar.c
+++ b/src/hyper/titlebar.c
@@ -54,6 +54,8 @@
#include "cfuns.h"
#include "parse-types.h"
+using namespace OpenAxiom;
+
static void readTitleBarImages(void);
extern int y_off; /* y offset for scrolling regions */
diff --git a/src/include/cfuns.h b/src/include/cfuns.h
index 28e89d85..9697cf06 100644
--- a/src/include/cfuns.h
+++ b/src/include/cfuns.h
@@ -1,6 +1,3 @@
-#ifndef OPENAXIOM_CFUNS_included
-#define OPENAXIOM_CFUNS_included
-
/*
Copyright (C) 1991-2002, The Numerical ALgorithms Group Ltd.
All rights reserved.
@@ -36,8 +33,13 @@
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
+#ifndef OPENAXIOM_CFUNS_included
+#define OPENAXIOM_CFUNS_included
+
#include "open-axiom.h"
+namespace OpenAxiom {
+
OPENAXIOM_C_EXPORT int addtopath(char*);
OPENAXIOM_C_EXPORT int directoryp(char*);
OPENAXIOM_C_EXPORT int make_path_from_file(char*, char*);
@@ -62,11 +64,13 @@ OPENAXIOM_C_EXPORT int oa_copy_file(const char*, const char*);
OPENAXIOM_C_EXPORT double plus_infinity(void);
OPENAXIOM_C_EXPORT double minus_infinity(void);
OPENAXIOM_C_EXPORT double quiet_double_NaN(void);
-OPENAXIOM_C_EXPORT openaxiom_byteorder oa_get_host_byteorder(void);
+OPENAXIOM_C_EXPORT Byteorder oa_get_host_byteorder(void);
OPENAXIOM_C_EXPORT const char* oa_concatenate_string(const char*, const char*);
OPENAXIOM_C_EXPORT const char* oa_strcat(const char*, const char*);
OPENAXIOM_C_EXPORT char* oa_substr(const char*, const size_t, const size_t);
OPENAXIOM_C_EXPORT char** oa_split(const char*, const char*, int*);
-
+
+}
+
#endif /* OPENAXIOM_CFUNS_included */
diff --git a/src/include/open-axiom.h b/src/include/open-axiom.h
index 30cb3fd3..33be7e97 100644
--- a/src/include/open-axiom.h
+++ b/src/include/open-axiom.h
@@ -65,14 +65,10 @@
#elif defined (HAVE_INTTYPES_H)
# include <inttypes.h>
#endif
-typedef uint8_t openaxiom_byte;
/* The opaque datatype. */
#ifdef __WIN32__
-#include <windows.h>
-typedef HANDLE openaxiom_handle;
-#else
-typedef void* openaxiom_handle;
+# include <windows.h>
#endif
#include <unistd.h>
@@ -84,27 +80,40 @@ typedef void* openaxiom_handle;
# define OPENAXIOM_HAVE_GRAPHICS 1
#endif
-/* Byte order enumeration. */
-enum openaxiom_byteorder {
- oa_unknown_endian, oa_little_endian, oa_big_endian
-};
-
+namespace OpenAxiom {
+ // A name for the byte datatype.
+ typedef uint8_t Byte;
-/* Datatype for packaging information necessary tolaunch a process. */
-struct openaxiom_process {
- int argc;
- char** argv;
- int id;
-};
+ // An opaque datatype
+#ifdef __WIN32__
+ typedef HANDLE Handle;
+#else
+ typedef void* Handle;
+#endif
-enum openaxiom_spawn_flags {
- openaxiom_spawn_search_path = 0x01,
- openaxiom_spawn_replace = 0x02,
-};
+ // Byte order of machine word data.
+ enum Byteorder {
+ unknown_endian, little_endian, big_endian
+ };
+
+ // Datatype for packaging information necessary tolaunch a process.
+ struct Process {
+ int argc;
+ char** argv;
+ int id;
+ };
+
+ enum SpawnFlags {
+ spawn_search_path = 0x01,
+ spawn_replace = 0x02,
+ };
-/* Return the address of the data buffer `BUF'. */
-#define oa_buffer_address(BUF) ((openaxiom_byte*)&BUF[0])
+ // Return the address of the byte array object representation of `t'.
+ template<typename T>
+ inline Byte* byte_address(T& t) {
+ return reinterpret_cast<Byte*>(&t);
+ }
/* Internal field separator character. */
#ifdef __WIN32__
@@ -124,19 +133,20 @@ enum openaxiom_spawn_flags {
of magnitude of difference when compared to the Unix world.
We abstract over that difference here. */
-static inline void
-openaxiom_sleep(int n)
-{
+ static inline void
+ openaxiom_sleep(int n)
+ {
#ifdef __WIN32__
- Sleep(n * 1000);
+ Sleep(n * 1000);
#else
- sleep(n);
+ sleep(n);
#endif
-}
+ }
+ OPENAXIOM_C_EXPORT void oa_allocate_process_argv(Process*, int);
+ OPENAXIOM_C_EXPORT int oa_spawn(Process*, SpawnFlags);
+ OPENAXIOM_C_EXPORT const char* oa_concatenate_string(const char*, const char*);
-OPENAXIOM_C_EXPORT void oa_allocate_process_argv(openaxiom_process*, int);
-OPENAXIOM_C_EXPORT int oa_spawn(openaxiom_process*, openaxiom_spawn_flags);
-OPENAXIOM_C_EXPORT const char* oa_concatenate_string(const char*, const char*);
+}
#endif /* OPENAXIOM_included */
diff --git a/src/include/sockio.h b/src/include/sockio.h
index 03893967..c848c434 100644
--- a/src/include/sockio.h
+++ b/src/include/sockio.h
@@ -53,6 +53,8 @@
#include "openaxiom-c-macros.h"
#include "open-axiom.h"
+namespace OpenAxiom {
+
/* On Windows, a socket identifier is not a file descriptor. It is
represented by an integer type, but that integer type is not just
plain int as in the Unix world. It is an unsigned integer.
@@ -87,36 +89,34 @@ struct openaxiom_sio {
OPENAXIOM_C_EXPORT openaxiom_filedesc
oa_open_local_client_stream_socket(const char*);
-OPENAXIOM_C_EXPORT int oa_inet_pton(const char*, int, openaxiom_byte*);
-OPENAXIOM_C_EXPORT int oa_get_host_address(const char*, int, openaxiom_byte*);
+OPENAXIOM_C_EXPORT int oa_inet_pton(const char*, int, Byte*);
+OPENAXIOM_C_EXPORT int oa_get_host_address(const char*, int, Byte*);
OPENAXIOM_C_EXPORT int oa_open_local_server_stream_socket(const char*);
OPENAXIOM_C_EXPORT openaxiom_socket
- oa_connect_ip_port_stream(const openaxiom_byte*, int, openaxiom_port);
+ oa_connect_ip_port_stream(const Byte*, int, openaxiom_port);
-OPENAXIOM_C_EXPORT int oa_socket_write(openaxiom_socket,
- const openaxiom_byte*, int);
-OPENAXIOM_C_EXPORT int oa_socket_write_byte(openaxiom_socket, openaxiom_byte);
+OPENAXIOM_C_EXPORT int oa_socket_write(openaxiom_socket, const Byte*, int);
+OPENAXIOM_C_EXPORT int oa_socket_write_byte(openaxiom_socket, Byte);
-OPENAXIOM_C_EXPORT int oa_socket_read(openaxiom_socket,
- openaxiom_byte*, int);
+OPENAXIOM_C_EXPORT int oa_socket_read(openaxiom_socket, Byte*, int);
OPENAXIOM_C_EXPORT int oa_socket_read_byte(openaxiom_socket);
OPENAXIOM_C_EXPORT void oa_close_socket(openaxiom_socket);
OPENAXIOM_C_EXPORT int
-oa_filedesc_write(openaxiom_filedesc, const openaxiom_byte*, int);
+oa_filedesc_write(openaxiom_filedesc, const Byte*, int);
OPENAXIOM_C_EXPORT int
-oa_filedesc_read(openaxiom_filedesc, openaxiom_byte*, int);
+oa_filedesc_read(openaxiom_filedesc, Byte*, int);
OPENAXIOM_C_EXPORT int oa_filedesc_close(openaxiom_filedesc);
-OPENAXIOM_C_EXPORT int sread(openaxiom_sio*, openaxiom_byte*, int, const char*);
-OPENAXIOM_C_EXPORT int swrite(openaxiom_sio*, const openaxiom_byte*, int,
+OPENAXIOM_C_EXPORT int sread(openaxiom_sio*, Byte*, int, const char*);
+OPENAXIOM_C_EXPORT int swrite(openaxiom_sio*, const Byte*, int,
const char*);
-OPENAXIOM_C_EXPORT int wait_for_client_read(openaxiom_sio*, openaxiom_byte*,
+OPENAXIOM_C_EXPORT int wait_for_client_read(openaxiom_sio*, Byte*,
int, const char*);
OPENAXIOM_C_EXPORT int wait_for_client_write(openaxiom_sio*,
- const openaxiom_byte*, int,
+ const Byte*, int,
const char*);
OPENAXIOM_C_EXPORT int make_server_name(char*, const char*);
@@ -133,7 +133,7 @@ OPENAXIOM_C_EXPORT double sock_get_float(int);
OPENAXIOM_C_EXPORT int get_sfloats(openaxiom_sio*, float*, int);
OPENAXIOM_C_EXPORT char* get_string(openaxiom_sio*);
OPENAXIOM_C_EXPORT void sigpipe_handler(int);
-OPENAXIOM_C_EXPORT int fill_buf(openaxiom_sio*, openaxiom_byte*, int,
+OPENAXIOM_C_EXPORT int fill_buf(openaxiom_sio*, Byte*, int,
const char*);
OPENAXIOM_C_EXPORT int sock_get_int(int);
OPENAXIOM_C_EXPORT int get_ints(openaxiom_sio*, int*, int);
@@ -219,4 +219,6 @@ OPENAXIOM_C_EXPORT openaxiom_sio clients[];
OPENAXIOM_C_EXPORT fd_set socket_mask;
OPENAXIOM_C_EXPORT fd_set server_mask;
+}
+
#endif /* OPENAXIOM_SOCKIO_included */
diff --git a/src/lib/cfuns-c.c b/src/lib/cfuns-c.c
index d32c584f..572b7835 100644
--- a/src/lib/cfuns-c.c
+++ b/src/lib/cfuns-c.c
@@ -77,6 +77,8 @@
# define getegid() getgid()
#endif
+namespace OpenAxiom {
+
OPENAXIOM_C_EXPORT int
addtopath(char *dir)
{
@@ -741,19 +743,19 @@ quiet_double_NaN(void)
}
-OPENAXIOM_C_EXPORT openaxiom_byteorder
+OPENAXIOM_C_EXPORT Byteorder
oa_get_host_byteorder(void)
{
#ifdef WORDS_BIGENDIAN
- return oa_big_endian;
+ return big_endian;
#else
- return oa_little_endian;
+ return little_endian;
#endif
}
OPENAXIOM_C_EXPORT void
-oa_allocate_process_argv(openaxiom_process* proc, int argc)
+oa_allocate_process_argv(Process* proc, int argc)
{
proc->argc = argc;
proc->argv = (char**) malloc((1 + argc) * sizeof (char*));
@@ -761,7 +763,7 @@ oa_allocate_process_argv(openaxiom_process* proc, int argc)
}
OPENAXIOM_C_EXPORT int
-oa_spawn(openaxiom_process* proc, openaxiom_spawn_flags flags)
+oa_spawn(Process* proc, SpawnFlags flags)
{
#ifdef __WIN32__
const char* path = NULL;
@@ -812,16 +814,16 @@ oa_spawn(openaxiom_process* proc, openaxiom_spawn_flags flags)
#else
proc->id = 0;
- if ((flags & openaxiom_spawn_replace) == 0)
+ if ((flags & spawn_replace) == 0)
proc->id = fork();
if (proc->id == 0) {
- if (flags & openaxiom_spawn_search_path)
+ if (flags & spawn_search_path)
execvp(proc->argv[0], proc->argv);
else
execv(proc->argv[0], proc->argv);
perror(strerror(errno));
/* Don't keep useless clones around. */
- if ((flags & openaxiom_spawn_replace) == 0)
+ if ((flags & spawn_replace) == 0)
exit(-1);
}
return proc->id;
@@ -874,3 +876,4 @@ oa_split(const char* sequence, const char* delimiter, int* size)
return tokens;
}
+}
diff --git a/src/lib/fnct_key.c b/src/lib/fnct_key.c
index 3c36df2a..bac0fdb5 100644
--- a/src/lib/fnct_key.c
+++ b/src/lib/fnct_key.c
@@ -52,6 +52,8 @@
#include "prt.h"
#include "edin.h"
+/* FIXME: Remove this in complete rewrite */
+using namespace OpenAxiom;
/** Some constants for functio key defs ****/
#define DELAYED 0
diff --git a/src/lib/sockio-c.c b/src/lib/sockio-c.c
index 19bfc085..09b41a8d 100644
--- a/src/lib/sockio-c.c
+++ b/src/lib/sockio-c.c
@@ -58,6 +58,9 @@
#include "sockio.h"
#include "com.h"
#include "bsdsignal.h"
+#include "sockio.h"
+
+namespace OpenAxiom {
#define TotalMaxPurposes 50
#define MaxServerNumbers 100
@@ -98,8 +101,6 @@ int socket_closed;
int spad_server_number = -1;
-#include "sockio.h"
-
/* Non zero if the host system module support for socket is activated.
This is needed only for MS platforms. */
static int openaxiom_socket_module_loaded = 0;
@@ -145,7 +146,7 @@ openaxiom_load_socket_module(void)
to numeric form. The result is stored in the last argument.
Success is indicated by a return value 0; failure is -1. */
OPENAXIOM_C_EXPORT int
-oa_inet_pton(const char* addr, int prot, openaxiom_byte* bytes)
+oa_inet_pton(const char* addr, int prot, Byte* bytes)
{
openaxiom_load_socket_module();
switch (prot) {
@@ -173,7 +174,7 @@ oa_inet_pton(const char* addr, int prot, openaxiom_byte* bytes)
/* Resolve a hostname to its IP address. On success return 0,
otherwise -1. */
OPENAXIOM_C_EXPORT int
-oa_get_host_address(const char* n, int prot, openaxiom_byte* bytes)
+oa_get_host_address(const char* n, int prot, Byte* bytes)
{
struct hostent* h;
openaxiom_load_socket_module();
@@ -304,7 +305,7 @@ oa_open_local_client_stream_socket(const char* path)
}
OPENAXIOM_C_EXPORT int
-oa_filedesc_read(openaxiom_filedesc desc, openaxiom_byte* buf, int size)
+oa_filedesc_read(openaxiom_filedesc desc, Byte* buf, int size)
{
#ifdef __WIN32__
DWORD count = -1;
@@ -321,7 +322,7 @@ oa_filedesc_read(openaxiom_filedesc desc, openaxiom_byte* buf, int size)
}
OPENAXIOM_C_EXPORT int
-oa_filedesc_write(openaxiom_filedesc desc, const openaxiom_byte* buf, int size)
+oa_filedesc_write(openaxiom_filedesc desc, const Byte* buf, int size)
{
#ifdef __WIN32__
DWORD count = -1;
@@ -351,8 +352,7 @@ oa_filedesc_close(openaxiom_filedesc desc)
*/
OPENAXIOM_C_EXPORT openaxiom_socket
-oa_connect_ip_port_stream(const openaxiom_byte* addr, int prot,
- openaxiom_port port)
+oa_connect_ip_port_stream(const Byte* addr, int prot, openaxiom_port port)
{
struct sockaddr_in server;
openaxiom_socket sock;
@@ -387,7 +387,7 @@ oa_connect_ip_port_stream(const openaxiom_byte* addr, int prot,
actually read. */
OPENAXIOM_C_EXPORT int
-oa_socket_read(openaxiom_socket sock, openaxiom_byte* buf, int size)
+oa_socket_read(openaxiom_socket sock, Byte* buf, int size)
{
return recv(sock, (char*) buf, size, 0);
}
@@ -398,7 +398,7 @@ oa_socket_read(openaxiom_socket sock, openaxiom_byte* buf, int size)
OPENAXIOM_C_EXPORT int
oa_socket_read_byte(openaxiom_socket sock)
{
- openaxiom_byte byte;
+ Byte byte;
if(oa_socket_read(sock, &byte, 1) < 1)
return -1;
return byte;
@@ -409,14 +409,14 @@ oa_socket_read_byte(openaxiom_socket sock)
Return -1 on failured; the number of actualy write bytes on success. */
OPENAXIOM_C_EXPORT int
-oa_socket_write(openaxiom_socket sock, const openaxiom_byte* buf, int size)
+oa_socket_write(openaxiom_socket sock, const Byte* buf, int size)
{
return send(sock, (const char*) buf, size, 0);
}
/* Send one byte to socket `sock'. */
OPENAXIOM_C_EXPORT int
-oa_socket_write_byte(openaxiom_socket sock, openaxiom_byte byte)
+oa_socket_write_byte(openaxiom_socket sock, Byte byte)
{
return oa_socket_write(sock, &byte, 1) < 1 ? -1 : byte;
}
@@ -454,7 +454,7 @@ sigpipe_handler(int sig)
}
OPENAXIOM_C_EXPORT int
-wait_for_client_read(openaxiom_sio *sock, openaxiom_byte* buf, int buf_size,
+wait_for_client_read(openaxiom_sio *sock, Byte* buf, int buf_size,
const char* msg)
{
int ret_val;
@@ -472,7 +472,7 @@ wait_for_client_read(openaxiom_sio *sock, openaxiom_byte* buf, int buf_size,
}
OPENAXIOM_C_EXPORT int
-wait_for_client_write(openaxiom_sio* sock, const openaxiom_byte* buf,
+wait_for_client_write(openaxiom_sio* sock, const Byte* buf,
int buf_size, const char* msg)
{
int ret_val;
@@ -490,7 +490,7 @@ wait_for_client_write(openaxiom_sio* sock, const openaxiom_byte* buf,
}
OPENAXIOM_C_EXPORT int
-sread(openaxiom_sio* sock, openaxiom_byte* buf, int buf_size, const char *msg)
+sread(openaxiom_sio* sock, Byte* buf, int buf_size, const char *msg)
{
int ret_val;
char err_msg[256];
@@ -515,7 +515,7 @@ sread(openaxiom_sio* sock, openaxiom_byte* buf, int buf_size, const char *msg)
}
OPENAXIOM_C_EXPORT int
-swrite(openaxiom_sio* sock, const openaxiom_byte* buf, int buf_size,
+swrite(openaxiom_sio* sock, const Byte* buf, int buf_size,
const char* msg)
{
int ret_val;
@@ -552,7 +552,7 @@ sselect(int n,fd_set *rd, fd_set *wr, fd_set *ex, void *timeout)
}
OPENAXIOM_C_EXPORT int
-fill_buf(openaxiom_sio *sock, openaxiom_byte* buf, int len, const char* msg)
+fill_buf(openaxiom_sio *sock, Byte* buf, int len, const char* msg)
{
int bytes = 0, ret_val;
while(bytes < len) {
@@ -567,7 +567,7 @@ OPENAXIOM_C_EXPORT int
get_int(openaxiom_sio *sock)
{
int val = -1, len;
- len = fill_buf(sock, (openaxiom_byte*)&val, sizeof(int), "get_int");
+ len = fill_buf(sock, byte_address(val), sizeof(int), "get_int");
if (len != sizeof(int)) {
#ifdef DEBUG
fprintf(stderr,"get_int: caught error\n",val);
@@ -609,7 +609,7 @@ OPENAXIOM_C_EXPORT int
send_int(openaxiom_sio *sock,int val)
{
int ret_val;
- ret_val = swrite(sock, (const openaxiom_byte*)&val, sizeof(int), "send_int");
+ ret_val = swrite(sock, byte_address(val), sizeof(int), "send_int");
if (ret_val == -1) {
return -1;
}
@@ -652,14 +652,14 @@ send_string_len(openaxiom_sio *sock, const char *str,int len)
strncpy(buf,str,len);
buf[len]='\0';
send_int(sock,len+1);
- val = swrite(sock, (const openaxiom_byte*) buf, len+1, "send_string_len");
+ val = swrite(sock, (const Byte*) buf, len+1, "send_string_len");
free(buf);
} else {
static char buf[1024];
strncpy(buf, str, len);
buf[len] = '\0';
send_int(sock, len+1);
- val = swrite(sock, (const openaxiom_byte*) buf, len+1, "send_string_len");
+ val = swrite(sock, (const Byte*) buf, len+1, "send_string_len");
}
if (val == -1) {
return -1;
@@ -672,7 +672,7 @@ send_string(openaxiom_sio* sock, const char* str)
{
int val, len = strlen(str);
send_int(sock, len+1);
- val = swrite(sock, (const openaxiom_byte*) str, len+1, "send_string");
+ val = swrite(sock, (const Byte*) str, len+1, "send_string");
if (val == -1) {
return -1;
}
@@ -722,7 +722,7 @@ get_string(openaxiom_sio *sock)
len = get_int(sock);
if (len <0) return NULL;
buf = (char*) malloc(len*sizeof(char));
- val = fill_buf(sock, (openaxiom_byte*) buf, len, "get_string");
+ val = fill_buf(sock, (Byte*) buf, len, "get_string");
if (val == -1){
free(buf);
return NULL;
@@ -752,7 +752,7 @@ get_string_buf(openaxiom_sio *sock, char *buf, int buf_len)
nbytes_to_read = sock->nbytes_pending > buf_len
? buf_len
: sock->nbytes_pending;
- nbytes_read = fill_buf(sock, (openaxiom_byte*)buf, nbytes_to_read,
+ nbytes_read = fill_buf(sock, (Byte*)buf, nbytes_to_read,
"get_string_buf");
if (nbytes_read == -1) {
sock->nbytes_pending = 0;
@@ -791,7 +791,7 @@ OPENAXIOM_C_EXPORT int
send_float(openaxiom_sio *sock, double num)
{
int val;
- val = swrite(sock, (const openaxiom_byte*)&num, sizeof(double),"send_float");
+ val = swrite(sock, byte_address(num), sizeof(double),"send_float");
if (val == -1) {
return -1;
}
@@ -847,7 +847,7 @@ get_float(openaxiom_sio *sock)
{
int val;
double num = -1.0;
- val = fill_buf(sock, (openaxiom_byte*)&num, sizeof(double), "get_float");
+ val = fill_buf(sock, byte_address(num), sizeof(double), "get_float");
#ifdef DEBUG
fprintf(stderr,"get_float: received %f\n",num);
#endif
@@ -1094,10 +1094,10 @@ remote_stdio(openaxiom_sio *sock)
if (FD_ISSET(0, &rd)) {
fgets(buf,1024,stdin);
len = strlen(buf);
- swrite(sock, (const openaxiom_byte*)buf, len, "remote_stdio::write");
+ swrite(sock, byte_address(buf), len, "remote_stdio::write");
}
if (FD_ISSET(sock->socket, &rd)) {
- len = sread(sock, (openaxiom_byte*)buf, 1024, "remote_stdio::read");
+ len = sread(sock, byte_address(buf), 1024, "remote_stdio::read");
if (len == -1)
return;
else {
@@ -1386,3 +1386,5 @@ print_line(const char* s)
{
printf("%s\n", s);
}
+
+}
diff --git a/src/lib/util.c b/src/lib/util.c
index 01681611..c82358c5 100644
--- a/src/lib/util.c
+++ b/src/lib/util.c
@@ -47,6 +47,8 @@
#include "util.H1"
+/* FIXME: Remove this kludge */
+using namespace OpenAxiom;
int
diff --git a/src/sman/session.c b/src/sman/session.c
index 999dc367..2a64dbc2 100644
--- a/src/sman/session.c
+++ b/src/sman/session.c
@@ -50,6 +50,8 @@
#include "bsdsignal.h"
#include "sockio.h"
+using namespace OpenAxiom;
+
static void usr1_handler(int);
static void usr2_handler(int);
static void term_handler(int);
@@ -276,11 +278,11 @@ static void
read_from_spad_io(void)
{
int ret_code;
- ret_code = sread(spad_io, oa_buffer_address(big_bad_buf), BufSize,
+ ret_code = sread(spad_io, byte_address(big_bad_buf), BufSize,
"session: stdout socket");
if (ret_code == -1) return;
if(active_session != (openaxiom_sio *) 0) {
- ret_code = swrite(active_session, oa_buffer_address(big_bad_buf),
+ ret_code = swrite(active_session, byte_address(big_bad_buf),
ret_code, NULL);
}
}
@@ -354,7 +356,7 @@ accept_session_connection(openaxiom_sio *server_sock)
active_session = (openaxiom_sio *)plSock;
get_string_buf(spad_server, big_bad_buf, BufSize);
ret_code = swrite((openaxiom_sio *)plSock,
- oa_buffer_address(big_bad_buf),
+ byte_address(big_bad_buf),
strlen(big_bad_buf)+1,
"session: writing to InterpWindow");
if (ret_code == -1)
@@ -377,14 +379,14 @@ read_from_session(openaxiom_sio *sock)
send_int(spad_server, sock->frame);
}
active_session = sock;
- ret_code = sread(sock, oa_buffer_address(big_bad_buf), BufSize,
+ ret_code = sread(sock, byte_address(big_bad_buf), BufSize,
"session: reading InterpWindow");
if (ret_code == -1) {
active_session = (openaxiom_sio *) 0;
reading_output = 0;
return;
}
- ret_code = swrite(spad_io, oa_buffer_address(big_bad_buf), ret_code,
+ ret_code = swrite(spad_io, byte_address(big_bad_buf), ret_code,
"session: writing SessionIO");
if (ret_code == -1) {
active_session = (openaxiom_sio *)0 ;
diff --git a/src/sman/sman.c b/src/sman/sman.c
index e0ba9deb..b6e6dbb5 100644
--- a/src/sman/sman.c
+++ b/src/sman/sman.c
@@ -57,10 +57,12 @@
#include "cfuns.h"
#include "utils.h"
-static void process_arguments(openaxiom_command*, int, char**);
+using namespace OpenAxiom;
+
+static void process_arguments(Command*, int, char**);
static int in_X(void);
static void set_up_defaults(void);
-static void process_options(openaxiom_command*, int, char**);
+static void process_options(Command*, int, char**);
static void death_handler(int);
static void sman_catch_signals(void);
static void fix_env(int);
@@ -76,8 +78,8 @@ static void start_the_local_spadclient(void);
static void start_the_session_manager(void);
static void start_the_hypertex(void);
static void start_the_graphics(void);
-static void fork_Axiom(openaxiom_command*);
-static void start_the_Axiom(openaxiom_command*);
+static void fork_Axiom(Command*);
+static void start_the_Axiom(Command*);
static void clean_up_sockets(void);
static void clean_hypertex_socket(void);
static void read_from_spad_io(int);
@@ -149,7 +151,7 @@ struct termios childbuf; /* terminal structure for user i/o */
int death_signal = 0;
static void
-process_arguments(openaxiom_command* command, int argc,char ** argv)
+process_arguments(Command* command, int argc,char ** argv)
{
int arg;
int other = 0;
@@ -246,7 +248,7 @@ set_up_defaults(void)
}
static void
-process_options(openaxiom_command* command, int argc, char **argv)
+process_options(Command* command, int argc, char **argv)
{
set_up_defaults();
process_arguments(command, argc, argv);
@@ -472,7 +474,7 @@ start_the_graphics(void)
/* Start the core executable session in a separate process, */
/* using a pseudo-terminal to catch all input and output */
static void
-fork_Axiom(openaxiom_command* cmd)
+fork_Axiom(Command* cmd)
{
SpadProcess *proc;
@@ -528,15 +530,14 @@ fork_Axiom(openaxiom_command* cmd)
/* Tell the Core that it is being invoked in server mode. */
oa_allocate_process_argv(&cmd->core, 2);
- cmd->core.argv[0] =
- (char*) openaxiom_make_path_for(cmd->root_dir, openaxiom_core_driver);
+ cmd->core.argv[0] = (char*) make_path_for(cmd->root_dir, core_driver);
cmd->core.argv[1] = (char*) "--role=server";
- openaxiom_execute_core(cmd, openaxiom_core_driver);
+ execute_core(cmd, core_driver);
}
}
static void
-start_the_Axiom(openaxiom_command* cmd)
+start_the_Axiom(Command* cmd)
{
server_num = make_server_number();
clean_up_old_sockets();
@@ -598,7 +599,7 @@ read_from_spad_io(int ptcNum)
}
}
else
- ret_code = swrite(session_io, oa_buffer_address(big_bad_buf), ret_code,
+ ret_code = swrite(session_io, byte_address(big_bad_buf), ret_code,
"writing to session man");
if (ret_code == -1) {
perror("writing output to session manager");
@@ -611,7 +612,7 @@ static void
read_from_manager(int ptcNum)
{
int ret_code;
- ret_code = sread(session_io, oa_buffer_address(big_bad_buf), BufSize,
+ ret_code = sread(session_io, byte_address(big_bad_buf), BufSize,
"reading session io");
if (ret_code == -1) {
return;
@@ -758,8 +759,8 @@ monitor_children(void)
int
main(int argc, char *argv[])
{
- openaxiom_command command = { };
- command.root_dir = openaxiom_get_systemdir(argc, argv);
+ Command command = { };
+ command.root_dir = get_systemdir(argc, argv);
process_options(&command, argc, argv);
putenv((char*) "LC_ALL=C");
diff --git a/src/sman/spadclient.c b/src/sman/spadclient.c
index 7d61a296..dd1d6722 100644
--- a/src/sman/spadclient.c
+++ b/src/sman/spadclient.c
@@ -48,6 +48,8 @@
#include "sockio.h"
+using namespace OpenAxiom;
+
openaxiom_sio* sock;
static void