X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Finclude%2Fgnunet_fs_service.h;h=f50166d326279aaf29ad458d4f1d583f00275a02;hb=27c12911f4f2aba2d90099270d70de846e83854f;hp=dbd885353ad5fd854f5aca27d6f9c4b1815634d8;hpb=2315ef124c25961fc88eadbf6b9d396de5d8f992;p=oweals%2Fgnunet.git diff --git a/src/include/gnunet_fs_service.h b/src/include/gnunet_fs_service.h index dbd885353..f50166d32 100644 --- a/src/include/gnunet_fs_service.h +++ b/src/include/gnunet_fs_service.h @@ -134,7 +134,7 @@ GNUNET_FS_uri_ksk_to_string_fancy (const struct GNUNET_FS_Uri *uri); * @param is_mandatory is this keyword mandatory? */ void -GNUNET_FS_uri_ksk_add_keyword (struct GNUNET_FS_Uri *uri, +GNUNET_FS_uri_ksk_add_keyword (struct GNUNET_FS_Uri *uri, const char *keyword, int is_mandatory); @@ -303,7 +303,7 @@ GNUNET_FS_uri_ksk_create (const char *keywords, char **emsg); * if keywords is not legal (i.e. empty). */ struct GNUNET_FS_Uri * -GNUNET_FS_uri_ksk_create_from_args (unsigned int argc, +GNUNET_FS_uri_ksk_create_from_args (unsigned int argc, const char **argv); @@ -337,7 +337,7 @@ GNUNET_FS_uri_test_sks (const struct GNUNET_FS_Uri *uri); * @return an FS URI for the given namespace and identifier */ struct GNUNET_FS_Uri * -GNUNET_FS_uri_sks_create (const struct GNUNET_CRYPTO_EccPublicSignKey *ns, +GNUNET_FS_uri_sks_create (const struct GNUNET_CRYPTO_EcdsaPublicKey *ns, const char *id); @@ -351,7 +351,7 @@ GNUNET_FS_uri_sks_create (const struct GNUNET_CRYPTO_EccPublicSignKey *ns, */ int GNUNET_FS_uri_sks_get_namespace (const struct GNUNET_FS_Uri *uri, - struct GNUNET_CRYPTO_EccPublicSignKey *pseudonym); + struct GNUNET_CRYPTO_EcdsaPublicKey *pseudonym); /** @@ -685,7 +685,13 @@ enum GNUNET_FS_Status * Notification that the unindexing of this file * was stopped (final event for this action). */ - GNUNET_FS_STATUS_UNINDEX_STOPPED = 36 + GNUNET_FS_STATUS_UNINDEX_STOPPED = 36, + + /** + * Notification that we are making progress sharing a directory. + */ + GNUNET_FS_STATUS_PUBLISH_PROGRESS_DIRECTORY = 37 + }; @@ -842,6 +848,33 @@ struct GNUNET_FS_ProgressInfo } progress; + /** + * These values are only valid for + * #GNUNET_FS_STATUS_PUBLISH_PROGRESS_DIRECTORY events. + */ + struct + { + + /** + * How far are we along in the overall directory? + */ + uint64_t completed; + + /** + * How big do we estimate the entire directory to be? + */ + uint64_t total; + + /** + * At what time do we expect to finish the upload of the + * CONTENTS of the directory. (The direcory itself will take + * extra time, indicated with the "eta" member at the + * "publish"-level of this struct.) + */ + struct GNUNET_TIME_Relative eta; + + } progress_directory; + /** * These values are only valid for * #GNUNET_FS_STATUS_PUBLISH_RESUME events. @@ -1377,7 +1410,7 @@ struct GNUNET_FS_ProgressInfo /** * Public key of the namespace. */ - struct GNUNET_CRYPTO_EccPublicSignKey pseudonym; + struct GNUNET_CRYPTO_EcdsaPublicKey pseudonym; } ns; @@ -1698,7 +1731,7 @@ typedef int (*GNUNET_FS_FileInformationProcessor) (void *cls, * file information structures. * * @param s structure to get the filename for - * @return NULL on error, otherwise filename that can be used + * @return NULL on error, otherwise filename that can be used * to read this fi-struct from disk. */ const char * @@ -1962,7 +1995,7 @@ enum GNUNET_FS_PublishOptions struct GNUNET_FS_PublishContext * GNUNET_FS_publish_start (struct GNUNET_FS_Handle *h, struct GNUNET_FS_FileInformation *fi, - const struct GNUNET_CRYPTO_EccPrivateKey *ns, + const struct GNUNET_CRYPTO_EcdsaPrivateKey *ns, const char *nid, const char *nuid, enum GNUNET_FS_PublishOptions options); @@ -2054,8 +2087,8 @@ struct GNUNET_FS_PublishSksContext; */ struct GNUNET_FS_PublishSksContext * GNUNET_FS_publish_sks (struct GNUNET_FS_Handle *h, - const struct GNUNET_CRYPTO_EccPrivateKey *ns, - const char *identifier, + const struct GNUNET_CRYPTO_EcdsaPrivateKey *ns, + const char *identifier, const char *update, const struct GNUNET_CONTAINER_MetaData *meta, const struct GNUNET_FS_Uri *uri, @@ -2146,10 +2179,10 @@ GNUNET_FS_unindex_stop (struct GNUNET_FS_UnindexContext *uc); * @param last_meta metadata associated with @a last_uri * @param next_id identifier that should be used for updates */ -typedef void (*GNUNET_FS_IdentifierProcessor) (void *cls, +typedef void (*GNUNET_FS_IdentifierProcessor) (void *cls, const char *last_id, const struct GNUNET_FS_Uri *last_uri, - const struct GNUNET_CONTAINER_MetaData *last_meta, + const struct GNUNET_CONTAINER_MetaData *last_meta, const char *next_id); @@ -2176,7 +2209,7 @@ typedef void (*GNUNET_FS_IdentifierProcessor) (void *cls, */ void GNUNET_FS_namespace_list_updateable (struct GNUNET_FS_Handle *h, - const struct GNUNET_CRYPTO_EccPrivateKey *ns, + const struct GNUNET_CRYPTO_EcdsaPrivateKey *ns, const char *next_id, GNUNET_FS_IdentifierProcessor ip, void *ip_cls); @@ -2283,7 +2316,7 @@ enum GNUNET_FS_DownloadOptions * No options (use defaults for everything). */ GNUNET_FS_DOWNLOAD_OPTION_NONE = 0, - + /** * Only download from the local host, do not access remote systems (no P2P) */ @@ -2600,9 +2633,9 @@ enum GNUNET_FS_DirScannerProgressUpdateReason * #GNUNET_SYSERR if it is neither (or unknown) * @param reason kind of progress we are making */ -typedef void (*GNUNET_FS_DirScannerProgressCallback) (void *cls, +typedef void (*GNUNET_FS_DirScannerProgressCallback) (void *cls, const char *filename, - int is_directory, + int is_directory, enum GNUNET_FS_DirScannerProgressUpdateReason reason); @@ -2685,9 +2718,9 @@ struct GNUNET_FS_DirScanner; */ struct GNUNET_FS_DirScanner * GNUNET_FS_directory_scan_start (const char *filename, - int disable_extractor, + int disable_extractor, const char *ex, - GNUNET_FS_DirScannerProgressCallback cb, + GNUNET_FS_DirScannerProgressCallback cb, void *cb_cls);