view src/s/dgux5-4-3.h @ 73562:368665ce6f35

Add support for TCP sockets. (SEND_STRING, SEND_QUOTED, HSOCKET, CLOSE_SOCKET, IOCTL, INITIALIZE): New macros. (IOCTL_BOOL_ARG): New typedef. (server_file): New global variable. (longopts): New option --server-file. (decode_options): Process new option --server-file and environment variable EMACS_SERVER_FILE. (print_help_and_exit): Document new option. (fail): If no connection available and no alternate editor, suggest using options to make them explicit. (AUTH_KEY_LENGTH, SEND_BUFFER_SIZE): New constants. (send_buffer, sblen): New variables. (send_to_emacs): New function to buffer output and send it with send(). (quote_file_name): Use SEND_STRING. (close_winsock, initialize_sockets): New functions to load and unload Winsock. (get_server_config, set_tcp_socket): New functions to create and set up TCP sockets. (set_local_socket): New function to create and set up Unix socket (code moved from previous implementation). (set_socket): New function to chose between TCP and Unix sockets. (main): Use SEND_STRING and SEND_QUOTED. Most code moved to set_local_socket. Use set_socket. Get answers from server.el with recv(), not file stream functions.
author Juanma Barranquero <lekktu@gmail.com>
date Tue, 31 Oct 2006 00:21:19 +0000
parents 3bd95f4f2941
children e90d04cd455a c5406394f567
line wrap: on
line source

/* Definitions file for GNU Emacs running on Data General's DG/UX
   version 5.4 Release 3.00 and above.
   Copyright (C) 1994, 2002, 2003, 2004, 2005,
                 2006 Free Software Foundation, Inc.

This file is part of GNU Emacs.

GNU Emacs is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.

GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU Emacs; see the file COPYING.  If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.  */

/* NOTE: DGUX5.4R3.00 will not build with the delivered gcc-2.4.5
   compiler.  You must upgraded to at least gcc-2.5.8.  If you are
   running DGUX 5.4R3.00 check on the system dg-rtp.dg.com:/pub/gnu
   for gcc-2.5.8 or later compiler.
   -pmr@pajato.com */

#include "dgux5-4r2.h"

/* DGUX 5.4R3.00 brought the definition of `struct inet_addr' into
   compliance with the majority of Unix systems.  The workaround
   introduced in 5.4R2 is no longer necessary. */

#ifdef HAVE_BROKEN_INET_ADDR
#undef HAVE_BROKEN_INET_ADDR
#endif

/* The `stop on tty output' problem which occurs when using
   INTERRUPT_INPUT and when Emacs is invoked under X11 using a job
   control shell (csh, ksh, etc.) in the background has not been fixed in
   DGUX 5.4R3.00.
   -pmr@pajato.com */

#if 0
#ifdef BROKEN_FIONREAD
#undef BROKEN_FIONREAD
#endif
#ifndef INTERRUPT_INPUT
#define INTERRUPT_INPUT
#endif
#endif

/* Under DGUX 5.4R3.00, getting a debuggable executable has been
   greatly simplified and applies to either COFF or ELF
   environments. */

#ifdef C_DEBUG_SWITCH
#undef C_DEBUG_SWITCH
#define C_DEBUG_SWITCH -g
#endif

/* This is needed according to Ehud Karni <ehud@unix.simonwiesel.co.il>
   for m88k-dg-dgux5.4R3.10.  */
#undef BSD_PGRPS

/* arch-tag: c11938c9-0cb0-4652-88aa-7eb80bf1cda9
   (do not change this comment) */