diff options
author | dos-reis <gdr@axiomatics.org> | 2008-03-08 19:09:18 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2008-03-08 19:09:18 +0000 |
commit | 6a0809d42bbfb8ae3c00431c69bff92f38e5739c (patch) | |
tree | a1652c71b6a3ccab8773f8c02d493b3278632fc8 /src/include/com.h | |
parent | 8531f4c74274b8aa99168d220738227557a9c418 (diff) | |
download | open-axiom-6a0809d42bbfb8ae3c00431c69bff92f38e5739c.tar.gz |
* include/sockio.h: Rename from sockio-c.H1.
* clef/edible.c: Don't include useproto.h. Include sockio.h
* graph/view3D/surface3d.c.pamphlet: Likewise.
* graph/viewman/fun2D.c.pamphlet: Likewise.
* graph/viewman/fun3D.c.pamphlet: Likewise.
* graph/viewman/make2D.c.pamphlet: Likewise.
* graph/viewman/make3D.c.pamphlet: Likewise.
* graph/viewman/makeGraph.c.pamphlet: Likewise.
* graph/viewman/sselect.c.pamphlet: Likewise.
* graph/viewman/viewman.c.pamphlet: Likewise.
* graph/viewman/viewman.h: Likewise.
* hyper/ReadBitmap.c: Likewise.
* hyper/addfile.c: Likewise.
* hyper/cond.c: Likewise.
* hyper/debug.c: Likewise.
* hyper/dialog.c: Likewise.
* hyper/display.c: Likewise.
* hyper/event.c: Likewise.
* hyper/ex2ht.c: Likewise.
* hyper/extent1.c: Likewise.
* hyper/extent2.c: Likewise.
* hyper/form-ext.c: Likewise.
* hyper/group.c: Likewise.
* hyper/halloc.c: Likewise.
* hyper/hash.c: Likewise.
* hyper/htadd.c: Likewise.
* hyper/hterror.c: Likewise.
* hyper/htinp.c: Likewise.
* hyper/hyper.c: Likewise.
* hyper/initx.c: Likewise.
* hyper/input.c: Likewise.
* hyper/item.c: Likewise.
* hyper/keyin.c: Likewise.
* hyper/lex.c: Likewise.
* hyper/macro.c: Likewise.
* hyper/mem.c: Likewise.
* hyper/parse-aux.c: Likewise.
* hyper/parse-input.c: Likewise.
* hyper/parse-paste.c: Likewise.
* hyper/parse-types.c: Likewise.
* hyper/parse.c: Likewise.
* hyper/scrollbar.c: Likewise.
* hyper/show-types.c: Likewise.
* hyper/spadbuf.c: Likewise.
* hyper/spadint.c: Likewise.
* hyper/titlebar.c: Likewise.
* lib/sockio-c.c: Likewise.
* sman/session.c: Likewise.
* sman/sman.c: Likewise.
* include/useproto.h: Remove.
Diffstat (limited to 'src/include/com.h')
-rw-r--r-- | src/include/com.h | 145 |
1 files changed, 32 insertions, 113 deletions
diff --git a/src/include/com.h b/src/include/com.h index 9dfca2d1..520e4aae 100644 --- a/src/include/com.h +++ b/src/include/com.h @@ -1,121 +1,40 @@ /* -Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in - the documentation and/or other materials provided with the - distribution. - - - Neither the name of The Numerical ALgorithms Group Ltd. nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS -IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED -TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER -OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + Copyright (C) 1991-2002, The Numerical ALgorithms Group Ltd. + All rights reserved. + Copyright (C) 2007-2008, Gabriel Dos Reis. + All rights resrved. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + + - Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + - Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + - Neither the name of The Numerical ALgorithms Group Ltd. nor the + names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS + IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER + OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef AXIOM_COM_H_INCLUDED #define AXIOM_COM_H_INCLUDED - -#ifdef __MINGW32__ -# include <winsock2.h> -#else -# include <sys/types.h> -# include <sys/socket.h> -# include <netinet/in.h> -#endif - -#include "axiom-c-macros.h" - -/* 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. - Consequently, we abstract over that variation, using the typedef - axiom_socket. */ - -#ifdef __MINGW32__ -typedef SOCKET axiom_socket; -#else -typedef int axiom_socket; -#endif - - -/* Close a socket communication endpoint. */ -extern void axiom_close_socket(axiom_socket); - -typedef struct { - axiom_socket socket; /* socket number returned by "socket" call */ - int type; /* socket type (AF_UNIX or AF_INET) */ - int purpose; /* can be SessionManager, GraphicsServer, etc. */ - int pid; /* process ID of connected socket */ - int frame; /* spad interpreter frame (for interpreter windows) */ - axiom_socket remote; /* file descriptor of remote socket */ - union { - struct sockaddr u_addr; - struct sockaddr_in i_addr; - } addr; - char *host_name; /* name of foreign host if type == AF_INET */ -} Sock; - - -#define MaxClients 150 - -/* possible socket types (purpose) */ - -#define SessionManager 1 -#define ViewportServer 2 -#define MenuServer 3 -#define SessionIO 4 -#define BaloonServer 5 -#define InterpWindow 6 -#define KillSpad 7 -#define DebugWindow 8 /* used for nagman */ -#define Forker 9 -#define AV 10 /*Simon's algebraic viewer */ - -#define Acknowledge 255 - -/* Timeout value for connection to remote socket */ - -#define Forever 0 - -/* Socket name for local AXIOM server and session manager */ - -#define SpadServer "/tmp/.d" -#define SessionServer "/tmp/.s" -#define SessionIOName "/tmp/.i" -#define MenuServerName "/tmp/.h" -#define ForkServerName "/tmp/.f" - - -#define MASK_SIZE (NBBY*sizeof(fd_set)) - - -/* table of dedicated socket types */ - -extern Sock *purpose_table[]; -extern Sock server[]; -extern Sock clients[]; -extern fd_set socket_mask; -extern fd_set server_mask; - /* Commands sent over the AXIOM session manager or menu socket */ #define CreateFrame 1 |