diff options
author | dos-reis <gdr@axiomatics.org> | 2010-11-28 15:08:36 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2010-11-28 15:08:36 +0000 |
commit | bbb5a69f0f2348adbbb8db960e5e45306b865683 (patch) | |
tree | 23f3039b350d61a402f3af97e8cc3ec06f08797e /src/include/open-axiom.h | |
parent | ab86c48186a05391f1c1fbc3f90759cc0caff45b (diff) | |
download | open-axiom-bbb5a69f0f2348adbbb8db960e5e45306b865683.tar.gz |
* lib/Makefile.in: Build libopen-axiom-core and libspad with a C++
compiler and linker.
* lib/bsdsignal.c: Fix C calling convention annotation.
* lib/cfuns-c.c: Likewise.
* lib/edin.c: Likewise.
* lib/sockio-c.c: Likewise.
* include/bsdsignal.h: Remove 'extern "C"'-block annotation.
* include/cfuns.h: Likewise.
* include/cursor.h: Likewise.
* include/edin.h: Likewise.
* include/fnct_key.h: Likewise.
* include/halloc.h: Likewise.
* include/hash.h: Likewise.
* include/openpty.h: Likewise.
* include/pixmap.h: Likewise.
* include/prt.h: Likewise.
* include/sockio.h: Likewise.
* include/spadcolors.h: Likewise.
* include/util.H1: Likewise.
* include/view.h: Likewise.
* include/wct.h: Likewise.
* include/open-axiom.h (OPENAXIOM_C_CALL): New macro.
(OPENAXIOM_C_EXPORT): Likewise.
Diffstat (limited to 'src/include/open-axiom.h')
-rw-r--r-- | src/include/open-axiom.h | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/src/include/open-axiom.h b/src/include/open-axiom.h index fd0e7326..30cb3fd3 100644 --- a/src/include/open-axiom.h +++ b/src/include/open-axiom.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2007-2009, Gabriel Dos Reis. + Copyright (C) 2007-2010, Gabriel Dos Reis. All rights reserved. Redistribution and use in source and binary forms, with or without @@ -36,6 +36,13 @@ #include "openaxiom-c-macros.h" +/* Annotation to request C calling convention */ +#ifdef __cplusplus +# define OPENAXIOM_C_CALL extern "C" +#else +# define OPENAXIOM_C_CALL +#endif + /* Cope with MS-platform oddities. */ #ifdef __WIN32__ # ifdef DLL_EXPORT @@ -51,6 +58,8 @@ # define OPENAXIOM_EXPORT /* nothing */ #endif /* OPENAXIOM_EXPORT */ +#define OPENAXIOM_C_EXPORT OPENAXIOM_C_CALL OPENAXIOM_EXPORT + #if defined(HAVE_STDINT_H) # include <stdint.h> #elif defined (HAVE_INTTYPES_H) @@ -68,10 +77,6 @@ typedef void* openaxiom_handle; #include <unistd.h> -#ifdef __cplusplus -extern "C" { -#endif - /* Do we have graphics support? */ #ifdef X_DISPLAY_MISSING # define OPENAXIOM_HAVE_GRAPHICS 0 @@ -80,22 +85,22 @@ extern "C" { #endif /* Byte order enumeration. */ -typedef enum openaxiom_byteorder { +enum openaxiom_byteorder { oa_unknown_endian, oa_little_endian, oa_big_endian -} openaxiom_byteorder; +}; /* Datatype for packaging information necessary tolaunch a process. */ -typedef struct openaxiom_process { +struct openaxiom_process { int argc; char** argv; int id; -} openaxiom_process; +}; -typedef enum openaxiom_spawn_flags { +enum openaxiom_spawn_flags { openaxiom_spawn_search_path = 0x01, openaxiom_spawn_replace = 0x02, -} openaxiom_spawn_flags; +}; /* Return the address of the data buffer `BUF'. */ @@ -130,12 +135,8 @@ openaxiom_sleep(int n) } -OPENAXIOM_EXPORT void oa_allocate_process_argv(openaxiom_process*, int); -OPENAXIOM_EXPORT int oa_spawn(openaxiom_process*, openaxiom_spawn_flags); -OPENAXIOM_EXPORT const char* oa_concatenate_string(const char*, const char*); - -#ifdef __cplusplus -} -#endif +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 */ |