view xrogue/network.h @ 238:e1cd27c5464f

arogue7, xrogue: improve the handling of the arguments to fuses. fuse() now expects a pointer as the argument to a fuse function. If this is one of the functions that takes int, fuse() follows the pointer and stores that value in the f_list slot, in the integer field of the argument union. When the fuse goes off, do_fuses() recognizes the function and passes it the integer field instead of the pointer. This has the disadvantage of hard-coding the functions that require int in daemon.c, but since the int is copied into f_list, it no longer has to be in static or global memory, which simplifies several files.
author John "Elwin" Edwards
date Fri, 11 Mar 2016 17:40:00 -0500
parents f54901b9c39b
children 13b482bd9e66
line wrap: on
line source

/*
    network.h  -  networking setup
    
    XRogue: Expeditions into the Dungeons of Doom
    Copyright (C) 1991 Robert Pietkivitch
    All rights reserved.
    
    Based on "Advanced Rogue"
    Copyright (C) 1984, 1985 Michael Morgan, Ken Dalka and AT&T
    All rights reserved.

    See the file LICENSE.TXT for full copyright and licensing information.
*/

/*
 * Note that networking is set up for machines that can communicate
 * via some system such as uucp.  The mechanism listed here uses uux
 * and assumes that the target machine allows access to the game via
 * the uux command.  NETCOMMAND must be defined if networking is desired.
 */

/* #undef  NETCOMMAND "uux - -n '%s!%s -u' >/dev/null 2>&1" */
/* #define NETCOMMAND "usend -s -d%s -uNoLogin -!'%s -u' - 2>/dev/null" */
#define NETCOMMAND ""

/* Networking information -- should not vary among networking machines */

struct network {
    char *system;
    char *rogue;
};
extern struct network Network[];
extern unsigned long netread(int *error, int size, FILE *stream);
extern int netwrite(unsigned long value, int size, FILE *stream);