032653c06fe43263c625613a538389fc2425976b
jcasper
  Tue Jul 16 17:16:51 2024 -0700
Updated hic straw library adapted for UCSC, with a udc-enabled curl substitute.  refs #33225

diff --git src/hg/inc/fakeCurl.h src/hg/inc/fakeCurl.h
new file mode 100644
index 0000000..6ed6848
--- /dev/null
+++ src/hg/inc/fakeCurl.h
@@ -0,0 +1,46 @@
+
+
+#ifndef FAKE_CURL
+#define FAKE_CURL
+
+typedef enum {
+    CURLOPT_WRITEDATA,
+    CURLOPT_RANGE,
+    CURLOPT_WRITEFUNCTION,
+    CURLOPT_URL,
+    CURLOPT_FOLLOWLOCATION,
+    CURLOPT_USERAGENT,
+    CURLOPT_HEADERFUNCTION
+} CURLoption;
+
+
+typedef enum {
+    CURLE_OK,
+    CURLE_NOTOK
+} CURLcode;
+
+typedef struct {
+    char *url;
+    char *range;
+    void *writeBuffer;
+    size_t (*WriteFunction) (char *buffer, size_t size, size_t nitems, void *outstream);
+    size_t (*HeaderFunction) (char *buffer, size_t size, size_t nitems, void *outstream);
+    // currently ignoring follow location setting and user agent string - we always follow, no string
+} CURL;
+
+typedef size_t (*curl_write_callback)(char *buffer, size_t size, size_t nitems, void *outstream);
+
+CURLcode curl_easy_setopt(CURL *curl, CURLoption option, ...);
+CURLcode curl_easy_perform(CURL *curl);
+const char *curl_easy_strerror(CURLcode errornum);
+CURL *curl_easy_init(void);
+void curl_easy_cleanup(CURL *curl);
+
+/*
+CURL_EXTERN CURL *curl_easy_init(void);
+CURL_EXTERN CURLcode curl_easy_setopt(CURL *curl, CURLoption option, ...);
+CURL_EXTERN CURLcode curl_easy_perform(CURL *curl);
+CURL_EXTERN void curl_easy_cleanup(CURL *curl);
+*/
+
+#endif