first batch of license fixes (boring)
[oweals/gnunet.git] / src / psyc / psyc_test_lib.h
1 /*
2  * This file is part of GNUnet
3  * Copyright (C) 2013 GNUnet e.V.
4  *
5  * GNUnet is free software: you can redistribute it and/or modify it
6  * under the terms of the GNU General Public License as published
7  * by the Free Software Foundation, either version 3 of the License,
8  * or (at your option) any later version.
9  *
10  * GNUnet is distributed in the hope that it will be useful, but
11  * WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  * Affero General Public License for more details.
14  */
15
16 /**
17  * @file psyc/test_psyc_api_join.c
18  * @brief library for writing psyc tests
19  * @author xrs
20  */
21
22 #define MAX_TESTBED_OPS 32
23
24 struct pctx
25 {
26   int idx;
27   
28   struct GNUNET_TESTBED_Peer *testbed_peer;
29   
30   const struct GNUNET_PeerIdentity *peer_id;
31
32   const struct GNUNET_PeerIdentity *peer_id_master;
33
34   /**
35    * Used to simulate egos (not peerid)
36    */
37   const struct GNUNET_CRYPTO_EcdsaPrivateKey *id_key;
38
39   const struct GNUNET_CRYPTO_EcdsaPublicKey *id_pub_key;
40
41   /**
42    * Used to store either GNUNET_PSYC_Master or GNUNET_PSYC_Slave handle
43    */
44   void *psyc;
45
46   struct GNUNET_PSYC_Channel *channel;
47
48   const struct GNUNET_CRYPTO_EddsaPrivateKey *channel_key;
49
50   struct GNUNET_CRYPTO_EddsaPublicKey *channel_pub_key;
51
52   int test_ok;
53 };
54
55 static struct GNUNET_SCHEDULER_Task *timeout_task_id;
56
57 static int result = GNUNET_SYSERR;
58
59 static struct GNUNET_TESTBED_Operation *op[MAX_TESTBED_OPS];
60
61 static int op_cnt = 0;
62