chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
bus-proxy: be more verbose if messages cannot be forwarded
[elogind.git]
/
src
/
import
/
import-job.h
diff --git
a/src/import/import-job.h
b/src/import/import-job.h
index 9ccaaf2c041344203acff67d8378c75fe5562557..dcf89cb28c45314a92879b4df88ef546770e1405 100644
(file)
--- a/
src/import/import-job.h
+++ b/
src/import/import-job.h
@@
-23,6
+23,7
@@
#include <lzma.h>
#include <zlib.h>
#include <lzma.h>
#include <zlib.h>
+#include <bzlib.h>
#include <gcrypt.h>
#include "macro.h"
#include <gcrypt.h>
#include "macro.h"
@@
-32,6
+33,8
@@
typedef struct ImportJob ImportJob;
typedef void (*ImportJobFinished)(ImportJob *job);
typedef int (*ImportJobOpenDisk)(ImportJob *job);
typedef void (*ImportJobFinished)(ImportJob *job);
typedef int (*ImportJobOpenDisk)(ImportJob *job);
+typedef int (*ImportJobHeader)(ImportJob *job, const char *header, size_t sz);
+typedef void (*ImportJobProgress)(ImportJob *job);
typedef enum ImportJobState {
IMPORT_JOB_INIT,
typedef enum ImportJobState {
IMPORT_JOB_INIT,
@@
-49,6
+52,7
@@
typedef enum ImportJobCompression {
IMPORT_JOB_UNCOMPRESSED,
IMPORT_JOB_XZ,
IMPORT_JOB_GZIP,
IMPORT_JOB_UNCOMPRESSED,
IMPORT_JOB_XZ,
IMPORT_JOB_GZIP,
+ IMPORT_JOB_BZIP2,
_IMPORT_JOB_COMPRESSION_MAX,
_IMPORT_JOB_COMPRESSION_INVALID = -1,
} ImportJobCompression;
_IMPORT_JOB_COMPRESSION_MAX,
_IMPORT_JOB_COMPRESSION_INVALID = -1,
} ImportJobCompression;
@@
-62,6
+66,8
@@
struct ImportJob {
void *userdata;
ImportJobFinished on_finished;
ImportJobOpenDisk on_open_disk;
void *userdata;
ImportJobFinished on_finished;
ImportJobOpenDisk on_open_disk;
+ ImportJobHeader on_header;
+ ImportJobProgress on_progress;
CurlGlue *glue;
CURL *curl;
CurlGlue *glue;
CURL *curl;
@@
-89,6
+95,7
@@
struct ImportJob {
ImportJobCompression compressed;
lzma_stream xz;
z_stream gzip;
ImportJobCompression compressed;
lzma_stream xz;
z_stream gzip;
+ bz_stream bzip2;
unsigned progress_percent;
usec_t start_usec;
unsigned progress_percent;
usec_t start_usec;
@@
-96,10
+103,10
@@
struct ImportJob {
bool allow_sparse;
bool allow_sparse;
- bool calc_
hash
;
- gcry_md_hd_t
hash
_context;
+ bool calc_
checksum
;
+ gcry_md_hd_t
checksum
_context;
- char *
sha256
;
+ char *
checksum
;
};
int import_job_new(ImportJob **job, const char *url, CurlGlue *glue, void *userdata);
};
int import_job_new(ImportJob **job, const char *url, CurlGlue *glue, void *userdata);
@@
-108,3
+115,5
@@
ImportJob* import_job_unref(ImportJob *job);
int import_job_begin(ImportJob *j);
void import_job_curl_on_finished(CurlGlue *g, CURL *curl, CURLcode result);
int import_job_begin(ImportJob *j);
void import_job_curl_on_finished(CurlGlue *g, CURL *curl, CURLcode result);
+
+DEFINE_TRIVIAL_CLEANUP_FUNC(ImportJob*, import_job_unref);