view src/s/openbsd.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 42f110ee25ea
children 8a39f8452a5b 02cf29720f31
line wrap: on
line source

/* s/ file for openbsd systems.  */

/* Mostly the same as NetBSD.  */
#include "netbsd.h"

/*  This very-badly named symbol is conditionally defined in netbsd.h.
    Better would be either to not need it in the first place, or to choose
    a more descriptive name.  */
#ifndef LD_SWITCH_SYSTEM_tmp
#define LD_SWITCH_SYSTEM_tmp /* empty */
#endif

/*  David Mazieres <dm@reeducation-labor.lcs.mit.edu> says this
    is necessary.  Otherwise Emacs dumps core when run -nw.  */
#undef LIBS_TERMCAP

#define TERMINFO
#define LIBS_TERMCAP -lncurses

#undef LD_SWITCH_SYSTEM_TEMACS
#undef LD_SWITCH_SYSTEM
#ifdef __ELF__

/*  Han Boetes <han@mijncomputer.nl> says this
    is necessary,  otherwise Emacs dumps core on elf systems.  */
#define LD_SWITCH_SYSTEM LD_SWITCH_SYSTEM_tmp -Z -L/usr/pkg/lib -L/usr/local/lib

#else

#define LD_SWITCH_SYSTEM LD_SWITCH_SYSTEM_tmp -L/usr/pkg/lib -L/usr/local/lib

#endif

/* arch-tag: 7e3f65ca-3f48-4237-933f-2b208b21e8e2
   (do not change this comment) */