24 #ifndef __GUESTSTORECLIENTLIB_H__ 25 #define __GUESTSTORECLIENTLIB_H__ 27 #include "vm_basic_types.h" 29 #define GUESTSTORE_LIB_ERR_LIST \ 30 GUESTSTORE_LIB_ERR_ITEM(GSLIBERR_SUCCESS = 0, \ 33 GUESTSTORE_LIB_ERR_ITEM(GSLIBERR_GENERIC, \ 36 GUESTSTORE_LIB_ERR_ITEM(GSLIBERR_TLS, \ 39 GUESTSTORE_LIB_ERR_ITEM(GSLIBERR_NOT_INITIALIZED, \ 40 gsliberr.not.initialized, \ 42 GUESTSTORE_LIB_ERR_ITEM(GSLIBERR_INVALID_PARAMETER, \ 43 gsliberr.invalid.parameter, \ 44 "Invalid parameter") \ 45 GUESTSTORE_LIB_ERR_ITEM(GSLIBERR_NOT_ENOUGH_MEMORY, \ 46 gsliberr.not.enough.memory, \ 47 "Not enough memory") \ 48 GUESTSTORE_LIB_ERR_ITEM(GSLIBERR_CREATE_OUTPUT_FILE, \ 49 gsliberr.create.output.file, \ 50 "Create output file error") \ 51 GUESTSTORE_LIB_ERR_ITEM(GSLIBERR_WRITE_OUTPUT_FILE, \ 52 gsliberr.write.output.file, \ 53 "Write output file error") \ 54 GUESTSTORE_LIB_ERR_ITEM(GSLIBERR_CONNECT_GENERIC, \ 55 gsliberr.connect.generic, \ 56 "Connect generic error") \ 57 GUESTSTORE_LIB_ERR_ITEM(GSLIBERR_CONNECT_SERVICE_NOT_RUNNING, \ 58 gsliberr.connect.service.not.running, \ 59 "Connect service not running") \ 60 GUESTSTORE_LIB_ERR_ITEM(GSLIBERR_CONNECT_PERMISSION_DENIED, \ 61 gsliberr.connect.permission.denied, \ 62 "Connect permission denied") \ 63 GUESTSTORE_LIB_ERR_ITEM(GSLIBERR_CONNECT_SECURITY_VIOLATION, \ 64 gsliberr.connect.security.violation, \ 65 "Connect security violation") \ 66 GUESTSTORE_LIB_ERR_ITEM(GSLIBERR_CONNECT_PEER_RESET, \ 67 gsliberr.connect.peer.reset, \ 68 "Connect peer reset") \ 69 GUESTSTORE_LIB_ERR_ITEM(GSLIBERR_SEND, \ 72 GUESTSTORE_LIB_ERR_ITEM(GSLIBERR_RECV, \ 75 GUESTSTORE_LIB_ERR_ITEM(GSLIBERR_CONTENT_FORBIDDEN, \ 76 gsliberr.content.forbidden, \ 77 "Content forbidden") \ 78 GUESTSTORE_LIB_ERR_ITEM(GSLIBERR_CONTENT_NOT_FOUND, \ 79 gsliberr.content.not.found, \ 80 "Content not found") \ 81 GUESTSTORE_LIB_ERR_ITEM(GSLIBERR_SERVER, \ 84 GUESTSTORE_LIB_ERR_ITEM(GSLIBERR_CANCELLED, \ 87 GUESTSTORE_LIB_ERR_ITEM(GSLIBERR_CHECKSUM, \ 94 #define GUESTSTORE_LIB_ERR_ITEM(a, b, c) a, 96 GUESTSTORE_LIB_ERR_LIST
97 GUESTSTORE_LIB_ERR_MAX
99 #undef GUESTSTORE_LIB_ERR_ITEM 105 GSLIBLOGLEVEL_ERROR = 1,
106 GSLIBLOGLEVEL_WARNING,
109 } GuestStoreLibLogLevel;
120 typedef void (*GuestStore_Logger) (GuestStoreLibLogLevel level,
128 typedef void (*GuestStore_Panic) (
const char *message,
135 typedef Bool (*GuestStore_GetContentCallback) (int64 contentSize,
136 int64 contentBytesReceived,
143 GuestStore_Init(
void);
149 GuestStore_GetContent(
150 const char *contentPath,
151 const char *outputPath,
152 GuestStore_Logger logger,
153 GuestStore_Panic panic,
154 GuestStore_GetContentCallback getContentCb,
162 GuestStore_DeInit(
void);