X-Git-Url: https://www.bearssl.org/gitweb//home/git/?p=BearSSL;a=blobdiff_plain;f=tools%2Fbrssl.h;h=a23ba00f710342a96ad609067bc3878406c5abb6;hp=f2957e640f4db949768c0ccb68110fc1f717aa8b;hb=b715b43e411dc5d5949df6f75ef7bb65952db11c;hpb=5f045c759957fdff8c85716e6af99e10901fdac0 diff --git a/tools/brssl.h b/tools/brssl.h index f2957e6..a23ba00 100644 --- a/tools/brssl.h +++ b/tools/brssl.h @@ -252,12 +252,13 @@ extern const cipher_suite cipher_suites[]; #define REQ_SHA384 0x0008 /* suite needs SHA-384 */ #define REQ_AESCBC 0x0010 /* suite needs AES/CBC encryption */ #define REQ_AESGCM 0x0020 /* suite needs AES/GCM encryption */ -#define REQ_CHAPOL 0x0040 /* suite needs ChaCha20+Poly1305 */ -#define REQ_3DESCBC 0x0080 /* suite needs 3DES/CBC encryption */ -#define REQ_RSAKEYX 0x0100 /* suite uses RSA key exchange */ -#define REQ_ECDHE_RSA 0x0200 /* suite uses ECDHE_RSA key exchange */ -#define REQ_ECDHE_ECDSA 0x0400 /* suite uses ECDHE_ECDSA key exchange */ -#define REQ_ECDH 0x0800 /* suite uses static ECDH key exchange */ +#define REQ_AESCCM 0x0040 /* suite needs AES/CCM encryption */ +#define REQ_CHAPOL 0x0080 /* suite needs ChaCha20+Poly1305 */ +#define REQ_3DESCBC 0x0100 /* suite needs 3DES/CBC encryption */ +#define REQ_RSAKEYX 0x0200 /* suite uses RSA key exchange */ +#define REQ_ECDHE_RSA 0x0400 /* suite uses ECDHE_RSA key exchange */ +#define REQ_ECDHE_ECDSA 0x0800 /* suite uses ECDHE_ECDSA key exchange */ +#define REQ_ECDH 0x1000 /* suite uses static ECDH key exchange */ /* * Parse a list of cipher suite names. The names are comma-separated. If @@ -297,11 +298,22 @@ int uses_ecdhe(unsigned suite); */ void list_names(void); +/* + * Print out all known elliptic curve names. + */ +void list_curves(void); + /* * Get the symbolic name for an elliptic curve (by ID). */ const char *ec_curve_name(int curve); +/* + * Get a curve by symbolic name. If the name is not recognized, -1 is + * returned. + */ +int get_curve_by_name(const char *str); + /* * Get the symbolic name for a hash function name (by ID). */ @@ -485,7 +497,8 @@ const char *get_algo_name(const void *algo, int long_name); /* * Run a SSL engine, with a socket connected to the peer, and using - * stdin/stdout to exchange application data. + * stdin/stdout to exchange application data. The socket must be a + * non-blocking descriptor. * * To help with Win32 compatibility, the socket descriptor is provided * as an "unsigned long" value. @@ -538,4 +551,17 @@ int do_ta(int argc, char *argv[]); */ int do_chain(int argc, char *argv[]); +/* + * Do the "twrch" command. Returned value is 0 on success, -1 on failure + * (processing or arguments), or a non-zero exit code. Command-line + * arguments start _after_ the command name. + */ +int do_twrch(int argc, char *argv[]); + +/* + * Do the "impl" command. Returned value is 0 on success, -1 on failure. + * Command-line arguments start _after_ the command name. + */ +int do_impl(int argc, char *argv[]); + #endif