libmsv
Monkeysphere Validation library
 All Data Structures Files Functions Variables Typedefs Macros
msv.h
Go to the documentation of this file.
1 #ifndef _MSV_H
2 #define _MSV_H 1
3 
12 #define LIBMSV_ERROR_SUCCESS 0
13 
17 #define LIBMSV_ERROR_INVALID 1
18 
22 #define LIBMSV_ERROR_NOENVVAR 2
23 
27 #define LIBMSV_ERROR_CURLINIT_FAILED 3
28 
35 #define LIBMSV_ERROR_CURLCODE 4
36 
40 #define LIBMSV_ERROR_INCOMPATIBLE_AGENT 5
41 
45 #define LIBMSV_ERROR_BADARG 6
46 
51 #define LIBMSV_ERROR_UNEXPECTED_RESPONSE 7
52 
57 struct msv_ctxt;
58 typedef struct msv_ctxt *msv_ctxt_t;
59 
64 struct msv_query
65 {
66  const char *context;
67  const char *peertype;
68  const char *peername;
69  const char *pkctype;
70  const char *pkcdata;
71 };
72 
78 {
79  int valid;
80  char *message;
81  size_t sz;
82 };
83 
90 extern msv_ctxt_t msv_ctxt_init (const char *url);
91 
97 extern void msv_ctxt_destroy (msv_ctxt_t ctx);
98 
106 extern const char *msv_strerror (msv_ctxt_t ctx, int error_code);
107 
114 extern int msv_check_msva (msv_ctxt_t ctx);
115 
125 extern int msv_query_agent (msv_ctxt_t ctx, struct msv_query q,
126  struct msv_response **response_ptr);
127 
133 extern void msv_response_destroy (struct msv_response *response);
134 
135 #endif /* _MSV_H */