Mercurial > hg > xemacs-beta
view lib-src/gnuserv.h @ 593:5fd7ba8b56e7
[xemacs-hg @ 2001-05-31 12:45:27 by ben]
xemacs-faq.texi: Major rewrite.
Update all MS Windows info to current.
Redo section 6.1 almost completely.
Incorporate sections 1 and 2 of Hrvoje's FAQ.
etags.el: Fix infloop when going up to the root.
s\cygwin32.h: Don't unilaterally include ntplay, but only when we're compiling
with native sound (look in configure now).
event-msw.c: Fix yet more problems with C-g handling.
Implement debug-mswindows-events.
event-stream.c, events.h, signal.c, sysdep.h:
Rearrange the signal-handling code to eliminate the former
spaghetti logic paths in it. Document clearly what
"low-level" and "high-level" timeouts are. Rename some
functions with unclear names (e.g. "...alarm...") to names
that reflect what they actually do (e.g. "...async_timeout...").
Fix numerous bugs discovered in the process.
console-x.h, event-Xt.c, event-msw.c, frame-x.c:
Hopefully make XEmacs properly maintain the "iconified"
state on frames at all times. This should fix the "can't
delete a frame with C-x 5 0 when there's another iconified
frame out there" bug.
Put a notice in of further changes that should probably
be made to clean up the frame-visibility support.
(especially directed at Jan Vroonhof)
lisp.h, miscplay.c:
Rename SBufbyte to CBufbyte to avoid a misleading name.
Eliminate UChar, which is not used anywhere and contributes
no semantic info. Add a comment about the documentation-only
properties of the char/unsigned char typedefs. Add
SChar_Binary as an explicitly `signed' version of Char_Binary
and put back the `signed' declarations in miscplay.c.
alloc.c:
Use char typedefs.
console-msw.c, device-msw.c, dialog-msw.c, editfns.c, fileio.c, glyphs-eimage.c, menubar-msw.c, ntplay.c, objects-msw.c, realpath.c, redisplay-msw.c, select-msw.c, syswindows.h, win32.c:
Eliminate numerous C++ errors.
frame-msw.c:
Eliminate numerous C++ errors and Mule-ize.
glyphs-msw.c:
Eliminate numerous C++ errors and use char typedefs.
configure.in:
Fix problems detecting both native and Linux sound on Cygwin
when compiled with --with-msw=no.
Rearrange file-coding handling a bit to avoid warning when
compiling with Mule.
configure.in, configure.usage, INSTALL:
Document XEMACS_CC and corresponding compiler option --xemacs-compiler.
Explain how to build xemacs using a C++ compiler.
author | ben |
---|---|
date | Thu, 31 May 2001 12:45:41 +0000 |
parents | 5aa1854ad537 |
children | 023b83f4e54b |
line wrap: on
line source
/* -*-C-*- Header file for the GNU Emacs server and client C code. This file is part of GNU Emacs. Copying is permitted under those conditions described by the GNU General Public License. Copyright (C) 1989 Free Software Foundation, Inc. Author: Andy Norman (ange@hplb.hpl.hp.com), based on 'etc/server.c' and 'etc/emacsclient.c' from the 18.52 GNU Emacs distribution. Please mail bugs and suggestions to the author at the above address. */ /* HISTORY * 11-Nov-1990 bristor@simba * Added EOT stuff. */ /* * This file incorporates new features added by Bob Weiner <weiner@mot.com>, * Darrell Kindred <dkindred@cmu.edu> and Arup Mukherjee <arup@cmu.edu>. * Please see the note at the end of the README file for details. * * (If gnuserv came bundled with your emacs, the README file is probably * ../etc/gnuserv.README relative to the directory containing this file) */ #define GNUSERV_VERSION "3.12" /* Note: this setting can cause client-server connection failure if the * value of TMPDIR is not shared by client and server at run-time. */ #define USE_TMPDIR #define PATCHLEVEL 2 #define NO_SHORTNAMES /* gnuserv should not be compiled using SOCKS */ #define DO_NOT_SOCKSIFY #define DONT_ENCAPSULATE #include <config.h> #undef signal /* Define the communication method between server and clients: * You can have either or both kinds of sockets, but you can't mix * sockets with sysv ipc */ #define INTERNET_DOMAIN_SOCKETS #ifdef HAVE_SYS_UN_H #define UNIX_DOMAIN_SOCKETS /* #define SYSV_IPC */ #endif /* * Define additional authentication protocols to be used. These methods will * be tried before falling back to the default gnuserv protocol (based on * the GNU_SECURE environment variable). Currently, only MIT-MAGIC-COOKIE-1 * is also supported. * * Comment out the next line(s) if you don't want to enable the * appropriate authentication protocol. */ #if defined (HAVE_XAUTH) #define AUTH_MAGIC_COOKIE #endif /* HAVE_XAUTH */ /* * stuff related to supporting MIT-MAGIC-COOKIE-1 */ #define MCOOKIE_SCREEN "999" /* screen # to use as the gnuserv cookie */ #define MCOOKIE_NAME "MAGIC-1" /* authentication protocol name */ #define MCOOKIE_X_NAME "MIT-MAGIC-COOKIE-1" /* as needed by X */ #define DEFAUTH_NAME "GNU-SECURE" /* name of default auth protocol */ #define AUTH_TIMEOUT 15 /* # seconds to wait for auth data */ #define AUTH_NAMESZ 15 /* max allows auth protocol name size */ /* * Pick a default communication scheme, if none was specified. */ #if !defined(SYSV_IPC) && !defined(UNIX_DOMAIN_SOCKETS) && !defined(INTERNET_DOMAIN_SOCKETS) #ifdef HAVE_SYSVIPC #define SYSV_IPC /* SYSV systems use SYSV IPC by default */ #endif /* HAVE_SYSVIPC */ #ifdef BSD #define UNIX_DOMAIN_SOCKETS /* BSD systems use Unix Domain sockets by default */ #endif /* BSD */ #endif /* No communication method pre-defined */ #include <sys/types.h> #include <sys/param.h> #include <sys/stat.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <signal.h> #include <errno.h> #ifdef HAVE_UNISTD_H #include <unistd.h> #endif #ifdef HAVE_SYS_TIME_H #include <sys/time.h> #endif /* * If you are using SYSV_IPC, you might want to make the buffer size bigger * since it limits the size of requests and responses. Don't make it bigger * than your system's max message size though (usually a couple of k) or else * msgsend will start failing. For sockets, using the system BUFSIZ is usually * what you want. */ # define GSERV_BUFSZ BUFSIZ #ifdef SYSV_IPC #include <sys/ipc.h> #include <sys/msg.h> #define send_string(s,str) \ if (strlen(msgp->mtext) + strlen(str) < GSERV_BUFSZ) \ strcat(msgp->mtext,str); \ else \ { \ fprintf(stderr,"%s: not enough message buffer space\n",progname); \ exit(1); \ } \ #endif /* SYSV_IPC */ #if defined(INTERNET_DOMAIN_SOCKETS) || defined(UNIX_DOMAIN_SOCKETS) #include <sys/socket.h> #endif /* INTERNET_DOMAIN_SOCKETS || UNIX_DOMAIN_SOCKETS */ #ifdef INTERNET_DOMAIN_SOCKETS #include <netdb.h> #include <netinet/in.h> #include <arpa/inet.h> #define TABLE_SIZE 101 /* The number of entries in the hash table */ #define HASH(host) host /* Rather simplistic hash function */ #define DEFAULT_PORT 21490 /* default port number to use is * DEFAULT_PORT + uid */ #endif /* INTERNET_DOMAIN_SOCKETS */ #ifdef UNIX_DOMAIN_SOCKETS #include <sys/un.h> #define HIDE_UNIX_SOCKET /* put the unix socket in a protected dir */ #endif /* UNIX_DOMAIN_SOCKETS */ /* On some platforms, we need to do the equivalent of "stty litout" to get * characters like ^D to pass through to emacs. This problem has only * been observed under emacs18; fsf19 and lemacs are probably okay without it. */ #ifndef DONT_USE_LITOUT #if !defined(HAVE_TERMIO) && !defined(HAVE_TERMIOS) && !defined(VMS) #if !defined(BSD4_1) #define USE_LITOUT #endif #endif #endif #define HOSTNAMSZ 255 /* max size of a hostname */ #define REPLYSIZ 300 /* max size of reply from server to client */ #undef FALSE #define FALSE 0 #undef TRUE #define TRUE 1 extern char *optarg; extern int optind; extern char *progname; extern char *tmpdir; /* The casts shut Sun's compiler up and are safe in the context these are actually used. */ #define max2(x,y) (((int) (x) > (int) (y)) ? (x) : (y)) #define min2(x,y) (((int) (x) < (int) (y)) ? (x) : (y)) #ifndef _NFILE /* rough guess at maximum number of open files */ #define _NFILE 20 #endif #define EOT_STR "\004" #define EOT_CHR '\004' /* connection types */ #define CONN_UNIX 0 #define CONN_INTERNET 1 #define CONN_IPC 2 /* function declarations */ int make_connection (char *hostarg, int portarg, int *s); #ifdef SYSV_IPC void disconnect_from_ipc_server(); #endif #if defined(INTERNET_DOMAIN_SOCKETS) || defined(UNIX_DOMAIN_SOCKETS) void send_string (int s, const char *msg); void disconnect_from_server (int s, int echo); int read_line (int s, char *dest); #endif #ifdef INTERNET_DOMAIN_SOCKETS int internet_addr (char *host); #endif