Mercurial > emacs
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) */