aboutsummaryrefslogtreecommitdiff
path: root/src/include/com.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/com.h')
-rw-r--r--src/include/com.h145
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