source: abuse/tags/pd/abuse/net/netface.c @ 161

Last change on this file since 161 was 49, checked in by Sam Hocevar, 15 years ago
  • Imported original public domain release, for future reference.
  • Property svn:keywords set to Id
File size: 1.9 KB
Line 
1
2
3enum { WAIT_INPUT,      // driver is waiting on input from client
4       WAIT_SEND,       // driver waiting on all input collected before sending
5       WAIT_PROCESS     // driver waiting for engine to change this to WAIT_INPUT
6     };
7
8
9
10struct base_memory_struct
11{
12  client_list *active_clients
13  join_struct *join_list;
14
15} ;
16
17struct client_list
18{
19  short client_id;    // used by engine to refer to specific client
20                      // the driver is responsible for allocating/deallocating client id's
21
22  char input_state;   // one of the above wait states
23
24  char command_buffer[1024];  // engine will process this data
25   
26  client_list *next;
27
28// net driver may have private information here
29
30} ;
31
32
33
34
35struct join_struct
36{
37  int client_id;
38
39  join_struct *next;
40
41// net driver may have private information here
42} ;
43
44
45
46
47
48
49/*
50
51  Net driver to engine API
52
53
54  File API
55  -----------------------------------------------------
56  int open_file(char *filename, char *mode);
57  Note : filename may contain a references to another server.
58    If the player starts with -net all files locations default to
59    those on the specified server.  But if a filename has a
60    "//" leading it's filename, the location of the file prefixes
61    the filename.  example "//abuser.location.edu/~joe/file1.lsp"
62    specifies a file on the server abuser.location.edu in joe's
63    home directory called file1.lsp.
64
65    The net driver should contact that address using the abuse file
66    protocol.  If no server is running there the server reports the
67    file does not exsist, -1 should be return.
68
69
70  int close_file(int fd);
71  int read(int fd, void *buffer, int size);  // returns bytes read
72  long seek(int fd, int offset);
73  long tell(int fd);
74  long file_size(int fd);
75
76
77
78
79
80  Game API
81  -------------------------------------------------------
82  client_side :
83    join_game(char *hostname);
84
85  server side :
86    kill_client(int client id);
87 
88
89*/
90
91
92
93
Note: See TracBrowser for help on using the repository browser.