library init: be recursive
[platform/upstream/c-ares.git] / ares_query.c
index 31084da..4bc9c25 100644 (file)
@@ -39,7 +39,7 @@ struct qquery {
 
 static void qcallback(void *arg, int status, int timeouts, unsigned char *abuf, int alen);
 
-void ares__rc4(rc4_key* key, unsigned char *buffer_ptr, int buffer_len)
+static void rc4(rc4_key* key, unsigned char *buffer_ptr, int buffer_len)
 {
   unsigned char x;
   unsigned char y;
@@ -101,6 +101,13 @@ static unsigned short generate_unique_id(ares_channel channel)
   return (unsigned short)id;
 }
 
+unsigned short ares__generate_new_id(rc4_key* key)
+{
+  unsigned short r=0;
+  rc4(key, (unsigned char *)&r, sizeof(r));
+  return r;
+}
+
 void ares_query(ares_channel channel, const char *name, int dnsclass,
                 int type, ares_callback callback, void *arg)
 {