Changeset 4453:25cf9186c390 in roaraudio


Ignore:
Timestamp:
10/09/10 22:30:47 (14 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

added aux functions roar_ht_digestlen() and roar_ht_is_supported()

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • include/libroar/hash.h

    r4450 r4453  
    7979int          roar_str2ht (const char * ht); 
    8080 
     81ssize_t      roar_ht_digestlen (const int    ht); 
     82 
     83int          roar_ht_is_supported(const int    ht); 
     84 
    8185struct roar_hash_state; 
    8286 
  • libroar/hash.c

    r4451 r4453  
    4141 
    4242static const struct hashes { 
    43  const int    id; 
    44  const char * name; 
     43 const int     id; 
     44 const char *  name; 
     45 const ssize_t dlen; 
    4546} _libroar_hashes[] = { 
    4647/* 
    47 grep '^  +HT_' doc/new-cmds | sed 's/ *#(.*)$//; s/^  +HT_//; s/ *=.*$//' | while read n; do printf " {ROAR_HT_%-12s \"%-12s},\n" $n, $n\"; done 
     48grep '^  +HT_' doc/new-cmds | sed 's/ *#(.*)$//; s/^  +HT_//; s/ *=.*$//' | while read n; do printf " {ROAR_HT_%-12s \"%-12s -1   },\n" $n, $n\",; done 
    4849*/ 
    49  {ROAR_HT_NONE,        "NONE"       }, 
    50  {ROAR_HT_MD5,         "MD5"        }, 
    51  {ROAR_HT_SHA1,        "SHA1"       }, 
    52  {ROAR_HT_RIPEMD160,   "RIPEMD160"  }, 
    53  {ROAR_HT_MD2,         "MD2"        }, 
    54  {ROAR_HT_TIGER,       "TIGER"      }, 
    55  {ROAR_HT_HAVAL,       "HAVAL"      }, 
    56  {ROAR_HT_SHA256,      "SHA256"     }, 
    57  {ROAR_HT_SHA384,      "SHA384"     }, 
    58  {ROAR_HT_SHA512,      "SHA512"     }, 
    59  {ROAR_HT_SHA224,      "SHA224"     }, 
    60  {ROAR_HT_MD4,         "MD4"        }, 
    61  {ROAR_HT_CRC32,       "CRC32"      }, 
    62  {ROAR_HT_RFC1510,     "RFC1510"    }, 
    63  {ROAR_HT_RFC2440,     "RFC2440"    }, 
    64  {ROAR_HT_WHIRLPOOL,   "WHIRLPOOL"  }, 
    65  {ROAR_HT_UUID,        "UUID"       }, 
    66  {ROAR_HT_GTN8,        "GTN8"       }, 
    67  {ROAR_HT_GTN16,       "GTN16"      }, 
    68  {ROAR_HT_GTN32,       "GTN32"      }, 
    69  {ROAR_HT_GTN64,       "GTN64"      }, 
    70  {ROAR_HT_CLIENTID,    "CLIENTID"   }, 
    71  {ROAR_HT_STREAMID,    "STREAMID"   }, 
    72  {ROAR_HT_SOURCEID,    "SOURCEID"   }, 
    73  {ROAR_HT_SAMPLEID,    "SAMPLEID"   }, 
    74  {ROAR_HT_MIXERID,     "MIXERID"    }, 
    75  {ROAR_HT_BRIDGEID,    "BRIDGEID"   }, 
    76  {ROAR_HT_LISTENID,    "LISTENID"   }, 
    77  {ROAR_HT_ACTIONID,    "ACTIONID"   }, 
    78  {ROAR_HT_MSGQUEUEID,  "MSGQUEUEID" }, 
    79  {ROAR_HT_MSGBUSID,    "MSGBUSID"   }, 
    80  {ROAR_HT_GTIN8,       "GTIN8"      }, 
    81  {ROAR_HT_GTIN13,      "GTIN13"     }, 
    82  {ROAR_HT_ISBN10,      "ISBN10"     }, 
    83  {ROAR_HT_ISBN13,      "ISBN13"     }, 
     50 {ROAR_HT_NONE,        "NONE",       -1   }, 
     51 {ROAR_HT_MD5,         "MD5",         16  }, 
     52 {ROAR_HT_SHA1,        "SHA1",        20  }, 
     53 {ROAR_HT_RIPEMD160,   "RIPEMD160",   20  }, 
     54 {ROAR_HT_MD2,         "MD2",        -1   }, 
     55 {ROAR_HT_TIGER,       "TIGER",       24  }, 
     56 {ROAR_HT_HAVAL,       "HAVAL",      -1   }, 
     57 {ROAR_HT_SHA256,      "SHA256",      32  }, 
     58 {ROAR_HT_SHA384,      "SHA384",      48  }, 
     59 {ROAR_HT_SHA512,      "SHA512",      64  }, 
     60 {ROAR_HT_SHA224,      "SHA224",      28  }, 
     61 {ROAR_HT_MD4,         "MD4",         16  }, 
     62 {ROAR_HT_CRC32,       "CRC32",       4   }, 
     63 {ROAR_HT_RFC1510,     "RFC1510",     4   }, 
     64 {ROAR_HT_RFC2440,     "RFC2440",     3   }, 
     65 {ROAR_HT_WHIRLPOOL,   "WHIRLPOOL",   64  }, 
     66 {ROAR_HT_UUID,        "UUID",        16  }, 
     67 {ROAR_HT_GTN8,        "GTN8",        1   }, 
     68 {ROAR_HT_GTN16,       "GTN16",       2   }, 
     69 {ROAR_HT_GTN32,       "GTN32",       4   }, 
     70 {ROAR_HT_GTN64,       "GTN64",       8   }, 
     71 {ROAR_HT_CLIENTID,    "CLIENTID",   -1   }, 
     72 {ROAR_HT_STREAMID,    "STREAMID",   -1   }, 
     73 {ROAR_HT_SOURCEID,    "SOURCEID",   -1   }, 
     74 {ROAR_HT_SAMPLEID,    "SAMPLEID",   -1   }, 
     75 {ROAR_HT_MIXERID,     "MIXERID",    -1   }, 
     76 {ROAR_HT_BRIDGEID,    "BRIDGEID",   -1   }, 
     77 {ROAR_HT_LISTENID,    "LISTENID",   -1   }, 
     78 {ROAR_HT_ACTIONID,    "ACTIONID",   -1   }, 
     79 {ROAR_HT_MSGQUEUEID,  "MSGQUEUEID", -1  }, 
     80 {ROAR_HT_MSGBUSID,    "MSGBUSID",   -1   }, 
     81 {ROAR_HT_GTIN8,       "GTIN8",       4   }, 
     82 {ROAR_HT_GTIN13,      "GTIN13",      8   }, 
     83 {ROAR_HT_ISBN10,      "ISBN10",      8   }, 
     84 {ROAR_HT_ISBN13,      "ISBN13",      8   }, 
    8485 {-1, NULL} 
    8586}; 
     
    121122 
    122123 return -1; 
     124} 
     125 
     126ssize_t      roar_ht_digestlen (const int    ht) { 
     127 int i; 
     128 
     129 for (i = 0; _libroar_hashes[i].id != -1; i++) 
     130  if ( _libroar_hashes[i].id == ht ) 
     131   return _libroar_hashes[i].dlen; 
     132 
     133 return -1; 
     134} 
     135 
     136int          roar_ht_is_supported(const int    ht) { 
     137#ifdef ROAR_HAVE_LIBGCRYPT 
     138 if ( roar_ht2gcrypt_tested(ht) == -1 ) 
     139  return 0; 
     140 
     141 return 1; 
     142#else 
     143 return 0; 
     144#endif 
    123145} 
    124146 
Note: See TracChangeset for help on using the changeset viewer.