X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=include%2Fopenssl%2Fasync.h;h=5223aadf37369bd3cf2dfd02be666a7121167b94;hp=45e2f6e206bd0acdf1ad06d37ee67e5ed32a62af;hb=316fae2a948afc1eb3a6d3d8b294156c011df133;hpb=f4da39d200a8c2068595b8d5bd5efb78af4224e1 diff --git a/include/openssl/async.h b/include/openssl/async.h index 45e2f6e206..5223aadf37 100644 --- a/include/openssl/async.h +++ b/include/openssl/async.h @@ -1,4 +1,3 @@ -/* include/openssl/async.h */ /* * Written by Matt Caswell (matt@openssl.org) for the OpenSSL project. */ @@ -51,10 +50,18 @@ * ==================================================================== */ +#include + #ifndef HEADER_ASYNC_H # define HEADER_ASYNC_H -#include +#if defined(_WIN32) +#include +#define OSSL_ASYNC_FD HANDLE +#else +#define OSSL_ASYNC_FD int +#endif + # ifdef __cplusplus extern "C" { @@ -67,21 +74,46 @@ typedef struct async_job_st ASYNC_JOB; #define ASYNC_PAUSE 2 #define ASYNC_FINISH 3 -int ASYNC_init_pool(unsigned int local, size_t max_size, size_t init_size); -void ASYNC_free_pool(void); +int ASYNC_init_thread(size_t max_size, size_t init_size); +void ASYNC_cleanup_thread(void); int ASYNC_start_job(ASYNC_JOB **job, int *ret, int (*func)(void *), void *args, size_t size); int ASYNC_pause_job(void); -int ASYNC_in_job(void); -int ASYNC_get_wait_fd(ASYNC_JOB *job); +OSSL_ASYNC_FD ASYNC_get_wait_fd(ASYNC_JOB *job); ASYNC_JOB *ASYNC_get_current_job(void); void ASYNC_wake(ASYNC_JOB *job); void ASYNC_clear_wake(ASYNC_JOB *job); +void ASYNC_block_pause(void); +void ASYNC_unblock_pause(void); -# ifdef __cplusplus -} -# endif +/* BEGIN ERROR CODES */ +/* + * The following lines are auto generated by the script mkerr.pl. Any changes + * made after this point may be overwritten when the script is next run. + */ +void ERR_load_ASYNC_strings(void); + +/* Error codes for the ASYNC functions. */ + +/* Function codes. */ +# define ASYNC_F_ASYNC_CTX_NEW 100 +# define ASYNC_F_ASYNC_INIT_THREAD 101 +# define ASYNC_F_ASYNC_JOB_NEW 102 +# define ASYNC_F_ASYNC_PAUSE_JOB 103 +# define ASYNC_F_ASYNC_START_FUNC 104 +# define ASYNC_F_ASYNC_START_JOB 105 +/* Reason codes. */ +# define ASYNC_R_CANNOT_CREATE_WAIT_PIPE 100 +# define ASYNC_R_FAILED_TO_SET_POOL 101 +# define ASYNC_R_FAILED_TO_SWAP_CONTEXT 102 +# define ASYNC_R_INIT_FAILED 105 +# define ASYNC_R_INVALID_POOL_SIZE 103 +# define ASYNC_R_POOL_ALREADY_INITED 104 + +#ifdef __cplusplus +} +#endif #endif