-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathelection.h
161 lines (139 loc) · 4.42 KB
/
election.h
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
/*
* Please do not edit this file.
* It was generated using rpcgen.
*/
#ifndef _ELECTION_H_RPCGEN
#define _ELECTION_H_RPCGEN
#include <rpc/rpc.h>
#ifdef __cplusplus
extern "C" {
#endif
struct voter {
char id[9];
char name[32];
char gender;
int vote;
};
typedef struct voter voter;
struct candidate {
char name[32];
int votes;
bool_t valid;
};
typedef struct candidate candidate;
struct candidate_stats {
double total_vote_percent;
double male_vote_percent;
double female_vote_percent;
};
typedef struct candidate_stats candidate_stats;
struct stats {
double total_vote_percent;
double male_vote_percent;
double female_vote_percent;
struct {
u_int candidate_len;
candidate_stats *candidate_val;
} candidate;
};
typedef struct stats stats;
typedef voter *voter_ptr;
typedef struct {
u_int candidate_list_len;
candidate *candidate_list_val;
} candidate_list;
struct register_voter_1_argument {
char *arg1;
char arg2;
};
typedef struct register_voter_1_argument register_voter_1_argument;
struct cast_vote_1_argument {
char *arg1;
char *arg2;
};
typedef struct cast_vote_1_argument cast_vote_1_argument;
#define ELECTION 0x20000001
#define ELECTIONVERS 1
#if defined(__STDC__) || defined(__cplusplus)
#define register_voter 1
extern char ** register_voter_1(char *, char , CLIENT *);
extern char ** register_voter_1_svc(char *, char , struct svc_req *);
#define verify_voter 2
extern bool_t * verify_voter_1(char *, CLIENT *);
extern bool_t * verify_voter_1_svc(char *, struct svc_req *);
#define cast_vote 3
extern bool_t * cast_vote_1(char *, char *, CLIENT *);
extern bool_t * cast_vote_1_svc(char *, char *, struct svc_req *);
#define tally_results 4
extern candidate_list * tally_results_1(CLIENT *);
extern candidate_list * tally_results_1_svc(struct svc_req *);
#define announce_winner 5
extern char ** announce_winner_1(CLIENT *);
extern char ** announce_winner_1_svc(struct svc_req *);
#define add_candidate 6
extern bool_t * add_candidate_1(char *, CLIENT *);
extern bool_t * add_candidate_1_svc(char *, struct svc_req *);
#define remove_candidate 7
extern bool_t * remove_candidate_1(char *, CLIENT *);
extern bool_t * remove_candidate_1_svc(char *, struct svc_req *);
#define invalidate_candidate 8
extern bool_t * invalidate_candidate_1(char *, CLIENT *);
extern bool_t * invalidate_candidate_1_svc(char *, struct svc_req *);
#define calc_statistics 9
extern stats * calc_statistics_1(CLIENT *);
extern stats * calc_statistics_1_svc(struct svc_req *);
extern int election_1_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
#else /* K&R C */
#define register_voter 1
extern char ** register_voter_1();
extern char ** register_voter_1_svc();
#define verify_voter 2
extern bool_t * verify_voter_1();
extern bool_t * verify_voter_1_svc();
#define cast_vote 3
extern bool_t * cast_vote_1();
extern bool_t * cast_vote_1_svc();
#define tally_results 4
extern candidate_list * tally_results_1();
extern candidate_list * tally_results_1_svc();
#define announce_winner 5
extern char ** announce_winner_1();
extern char ** announce_winner_1_svc();
#define add_candidate 6
extern bool_t * add_candidate_1();
extern bool_t * add_candidate_1_svc();
#define remove_candidate 7
extern bool_t * remove_candidate_1();
extern bool_t * remove_candidate_1_svc();
#define invalidate_candidate 8
extern bool_t * invalidate_candidate_1();
extern bool_t * invalidate_candidate_1_svc();
#define calc_statistics 9
extern stats * calc_statistics_1();
extern stats * calc_statistics_1_svc();
extern int election_1_freeresult ();
#endif /* K&R C */
/* the xdr functions */
#if defined(__STDC__) || defined(__cplusplus)
extern bool_t xdr_voter (XDR *, voter*);
extern bool_t xdr_candidate (XDR *, candidate*);
extern bool_t xdr_candidate_stats (XDR *, candidate_stats*);
extern bool_t xdr_stats (XDR *, stats*);
extern bool_t xdr_voter_ptr (XDR *, voter_ptr*);
extern bool_t xdr_candidate_list (XDR *, candidate_list*);
extern bool_t xdr_register_voter_1_argument (XDR *, register_voter_1_argument*);
extern bool_t xdr_cast_vote_1_argument (XDR *, cast_vote_1_argument*);
#else /* K&R C */
extern bool_t xdr_voter ();
extern bool_t xdr_candidate ();
extern bool_t xdr_candidate_stats ();
extern bool_t xdr_stats ();
extern bool_t xdr_voter_ptr ();
extern bool_t xdr_candidate_list ();
extern bool_t xdr_register_voter_1_argument ();
extern bool_t xdr_cast_vote_1_argument ();
#endif /* K&R C */
#ifdef __cplusplus
}
#endif
#endif /* !_ELECTION_H_RPCGEN */