File: rpcace.x

package info (click to toggle)
libace-perl 1.92-12
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,012 kB
  • sloc: perl: 7,763; ansic: 7,420; makefile: 81
file content (87 lines) | stat: -rw-r--r-- 2,127 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/* $Id: rpcace.x,v 1.1 2003/01/29 21:33:28 lstein Exp $ */

/*
** This file gets processed by rpcgen to make machine specific 
** rpc library hooks
**
** ace_data is for transfer from client to server
** ace_reponse is the canonical rpcgen union.
*/

/* 
   question:
      set by client: a buffer containing the request

   reponse: 
      set by server: a buffer containing the answer

   encore:
      set by server to: -1 if more data remains to be transmitted
      set by client to: -1 to get the the remainder
                        -2 to abort the running query

** JC I prefer negative values to avoid clashes with error values in 
   askServer return values
   
   clientId:
      set by server on first connection,
             must be retransmitted by client each time.
   magic:
      negotiated between  the client and the server,
             must be retransmitted by client each time.

   cardinal:
      set by server to: number of objects in the active list.

   aceError:
      set by server to: 100 Unrecognised command
	                200 Out of context command
                        300 Invalid command (bad nb of parms etc)
                        400 Syntax error in body of command 
   kBytes:
      set by client to: Desired max size of answer, 
                        NOT strict, server is allowed to return more
                        Server only splits on ace boundaries.
*/

#define HAVE_ENCORE   -1
#define WANT_ENCORE   -1
#define DROP_ENCORE   -2
     /* encore == -3 is used in aceclient && aceserver */
#define ACE_IN        -3

#define RPC_PORT rpc_port  

struct ace_data {
  string   question <>;
  opaque   reponse <> ;
  int      clientId ;
  int      magic ;
  int      cardinal ;
  int      encore ;   
  int      aceError ;
  int      kBytes ;  
  };
 
union ace_reponse switch ( int ernumber) {
case 0:
  ace_data    res_data;
default:
  void;
};

/*
** Please don't change this !!!
*/

program RPC_ACE {
  version RPC_ACE_VERS   {
    ace_reponse  ACE_SERVER(ace_data) = 1;
  } = 1;
} = RPC_PORT ;

/* const RPC_ANYSOCK = rpc_socket;  */

/********* end of file **********/