mirror of
https://github.com/wrog/lambdamoo
synced 2026-08-13 00:26:05 -04:00
really need to be sure .h files are not getting multiply included
(I had thought this was already best-practice from the K&R days).
new rules for forming the symbol from the filename:
(1) capitalize each word of the filename,
(2) final 'H' is capitalized
... *unless* the rest of the filename is an initialism (AST, DB)
which would make the resulting symbol all-caps (AST_H, DB_H)
which we do not want (since it might collide with something real)
so use a small 'h' in those cases (AST_h, DB_h)
(3) make sure this preprocessor symbol is used *NOWHERE* else.
--wrog
65 lines
2.3 KiB
C
65 lines
2.3 KiB
C
/******************************************************************************
|
|
Copyright (c) 1995, 1996 Xerox Corporation. All rights reserved.
|
|
Portions of this code were written by Stephen White, aka ghond.
|
|
Use and copying of this software and preparation of derivative works based
|
|
upon this software are permitted. Any distribution of this software or
|
|
derivative works must comply with all applicable United States export
|
|
control laws. This software is made available AS IS, and Xerox Corporation
|
|
makes no warranty about the software, its performance or its conformity to
|
|
any specification. Any person obtaining a copy of this software is requested
|
|
to send their name and post office or electronic mail address to:
|
|
Pavel Curtis
|
|
Xerox PARC
|
|
3333 Coyote Hill Rd.
|
|
Palo Alto, CA 94304
|
|
Pavel@Xerox.Com
|
|
*****************************************************************************/
|
|
|
|
#ifndef Net_Multi_H
|
|
#define Net_Multi_H 1
|
|
|
|
/* Extra networking facilities available only for the multi-user networking
|
|
* configurations.
|
|
*/
|
|
|
|
typedef void (*network_fd_callback) (int fd, void *data);
|
|
|
|
extern void network_register_fd(int fd, network_fd_callback readable,
|
|
network_fd_callback writable, void *data);
|
|
/* The file descriptor FD will be selected for
|
|
* at intervals (whenever the networking module
|
|
* is doing its own I/O processing). If FD
|
|
* selects true for reading and READABLE is
|
|
* non-zero, then READABLE will be called,
|
|
* passing FD and DATA. Similarly for
|
|
* WRITABLE.
|
|
*/
|
|
|
|
extern void network_unregister_fd(int fd);
|
|
/* Any existing registration for FD is
|
|
* forgotten.
|
|
*/
|
|
|
|
extern int network_set_nonblocking(int fd);
|
|
/* Enable nonblocking I/O on the file
|
|
* descriptor FD. Return true iff successful.
|
|
*/
|
|
|
|
extern void network_set_client_echo(network_handle nh, int is_on);
|
|
/* Emit telnet escape sequence to inform
|
|
* client what the echo state should be
|
|
*/
|
|
|
|
#endif /* !Net_Multi_H */
|
|
|
|
/*
|
|
* $Log$
|
|
* Revision 2.1 1996/02/08 06:18:14 pavel
|
|
* Updated copyright notice for 1996. Release 1.8.0beta1.
|
|
*
|
|
* Revision 2.0 1995/11/30 05:07:18 pavel
|
|
* New baseline version, corresponding to release 1.8.0alpha1.
|
|
*
|
|
* Revision 1.1 1995/11/30 05:07:10 pavel
|
|
* Initial revision
|
|
*/
|