updated makefiles
[gnutls.git] / doc / examples / print-ciphersuites.c
blob7b91c3b39d075a73ce352f8dc60b5ba2c15f1ad3
1 /* This example code is placed in the public domain. */
3 #include <config.h>
4 #include <stdio.h>
5 #include <stdlib.h>
6 #include <string.h>
7 #include <gnutls/gnutls.h>
9 static void
10 print_cipher_suite_list (const char* priorities)
12 size_t i;
13 int ret;
14 unsigned int idx;
15 const char *name;
16 const char *err;
17 unsigned char id[2];
18 gnutls_protocol_t version;
19 gnutls_priority_t pcache;
21 if (priorities != NULL)
23 printf ("Cipher suites for %s\n", priorities);
25 ret = gnutls_priority_init(&pcache, priorities, &err);
26 if (ret < 0)
28 fprintf (stderr, "Syntax error at: %s\n", err);
29 exit(1);
32 for (i=0;;i++)
34 ret = gnutls_priority_get_cipher_suite_index(pcache, i, &idx);
35 if (ret == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) break;
36 if (ret == GNUTLS_E_UNKNOWN_CIPHER_SUITE) continue;
38 name = gnutls_cipher_suite_info(idx, id, NULL, NULL, NULL, &version);
40 if (name != NULL)
41 printf ("%-50s\t0x%02x, 0x%02x\t%s\n",
42 name, (unsigned char) id[0], (unsigned char) id[1],
43 gnutls_protocol_get_name (version));
46 return;
50 int main(int argc, char** argv)
52 if (argc > 1)
53 print_cipher_suite_list (argv[1]);