summaryrefslogtreecommitdiffstats
path: root/lib/include/net.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/include/net.h')
-rw-r--r--lib/include/net.h93
1 files changed, 0 insertions, 93 deletions
diff --git a/lib/include/net.h b/lib/include/net.h
deleted file mode 100644
index 610ed77..0000000
--- a/lib/include/net.h
+++ /dev/null
@@ -1,93 +0,0 @@
-#ifndef VL_NET_H_INCLUDED
-#define VL_NET_H_INCLUDED
-
-#include "arena.h"
-#include "sha1.h"
-
-enum {
- /* The operation completed successfully */
- NET_OK = 0,
-
- /* There was some kind of error relating to I/O on the local system */
- NET_EIO = -1,
-
- /* There was some kind of network error downloading the file. */
- NET_ENETWORK = -2,
-
- /* The server gave us a bad status code while downloading the file. */
- NET_ESTATUS = -3,
-
- /* An unrecoverable integrity error occurred. */
- NET_EINTEGRITY = -4,
-
- /* An unspecified error occurred. */
- NET_EUNSPEC = -5,
-
- /* An unspecified (remote) error occurred. */
- NET_EREMOTEUNSPEC = -6
-};
-
-enum {
- VERIFY_SIZE = 1u,
- VERIFY_SHA1 = 2u
-};
-
-/* Ensures the latest version of the file available at 'url' is downloaded to 'target_path'.
- * Will avoid downloading the file if it hasn't changed.
- *
- * Never returns NET_EINTEGRITY. */
-int vl_net_ensure_cached(vl_arena *scratch, const char *url, const char *target_path);
-
-/* Will verify that the file at 'target_path' hasn't been tampered with since being updated
- * by vl_net_ensure_cached.
- *
- * Returns NET_EIO if the file doesn't exist or couldn't be read.
- * Returns NET_EINTEGRITY if the file on disk doesn't match. */
-int vl_net_verify_cached(vl_arena *scratch, const char *target_path);
-
-/* Downloads a file for which you know the integrity information (SHA1 and/or size) from 'url' to
- * 'target_path'. Will not download the file if the file already exists with correct SHA1 and size
- * (as specified).
- *
- * Pass variadic arguments in the following order:
- * - size_t size (if VERIFY_SIZE is set)
- * - const uint8_t *hash (if VERIFY_SHA1 is set)
- *
- * Returns NET_EINTEGRITY if the file at 'url' doesn't match the provided integrity information. */
-int vl_net_ensure_verified(const char *url, const char *target_path, unsigned flags, ...);
-
-/* See vl_net_ensure_verified for information on the variadic argument list.
- *
- * Returns NET_EINTEGRITY if the file at 'target_path' doesn't match the provided integrity information.
- * Returns NET_EIO if the downloaded file is not readable or could not be verified due to an I/O issue. */
-int vl_net_verify(const char *target_path, unsigned flags, ...);
-
-enum {
- /* The job hasn't been started yet. */
- STATUS_WAITING = 0u,
-
- /* The job is in flight. */
- STATUS_RUNNING = 1u,
-
- /* The job is finished without errors. */
- STATUS_COMPLETE = 2u,
-
- /* The job is finished with errors. */
- STATUS_ERROR = 3u,
-
- /* The job finished successfully, but the downloaded file failed integrity checks. */
- STATUS_INTEGRITY = 4u
-};
-
-struct vl_download_job {
- const char *url;
- const char *opath;
- size_t expect_len;
- vl_sha1 expect_hash;
- unsigned verify_flags;
- unsigned status;
-};
-
-int vl_net_download_all(struct vl_download_job *jobs, size_t njobs, size_t simult);
-
-#endif