68 #define AFDT_FULL_MSGLEN 0x200
73 #define AFDT_MSGLEN (AFDT_FULL_MSGLEN - sizeof(uint32_t))
101 AFDT_HANDLE_RESPONSE,
230 const uint8_t* content,
231 uint32_t content_len,
242 const uint8_t* content,
243 uint32_t content_len,
261 uint32_t* content_len,
273 uint32_t* content_len,
317 const uint8_t* request,
318 uint32_t request_length,
320 uint32_t* response_length,
337 const uint8_t* response,
338 uint32_t response_length,
359 const uint8_t* request,
360 uint32_t request_length,
361 const uint8_t* response,
362 uint32_t response_length,
388 const uint8_t* request,
389 uint32_t request_length,
390 const uint8_t* response,
391 uint32_t response_length,
416 struct event_base* eb,
420 void** out_close_handle,
457 struct event_base* eb,
458 const uint8_t* request,
459 uint32_t request_length,
462 const struct timeval* timeout,
491 const uint8_t* request,
492 uint32_t request_length,
494 uint32_t* response_length,
496 const struct timeval* timeout,
Detailed information about an error.
Definition: afdt.h:133
int afdt_sync_client(const char *fname, const uint8_t *request, uint32_t request_length, uint8_t *response, uint32_t *response_length, int *received_fd, const struct timeval *timeout, struct afdt_error_t *err)
Request a file descriptor from a server.
int(* afdt_request_handler_t)(const uint8_t *request, uint32_t request_length, uint8_t *response, uint32_t *response_length, void *userdata)
Callback type for processing an AFDT request.
Definition: afdt.h:316
int afdt_listen(const char *fname, struct afdt_error_t *err)
Create a socket that listens for connections.
void(* afdt_error_handler_t)(const struct afdt_error_t *err, void *userdata)
Callback type for processing errors during AFDT operations.
Definition: afdt.h:379
int afdt_send_plain_msg(int connfd, const uint8_t *content, uint32_t content_len, struct afdt_error_t *err)
Send a message with no file descriptor.
void(* afdt_post_handler_t)(const uint8_t *request, uint32_t request_length, const uint8_t *response, uint32_t response_length, int sent_fd, void *userdata)
Callback type for after a response is sent.
Definition: afdt.h:358
int afdt_create_client(const char *fname, struct event_base *eb, const uint8_t *request, uint32_t request_length, afdt_response_handler_t response_handler, afdt_error_handler_t error_handler, const struct timeval *timeout, void *userdata)
Request a file descriptor from a server.
enum afdt_operation operation
Low-level operation that caused the error.
Definition: afdt.h:137
const char * message
Additional human-readable information, or "".
Definition: afdt.h:139
int afdt_connect(const char *fname, struct afdt_error_t *err)
Create a socket and connect to a listening socket.
void afdt_no_post(const uint8_t *request, uint32_t request_length, const uint8_t *response, uint32_t response_length, int sent_fd, void *userdata)
No-op function that can be used as a post_handler.
afdt_phase
Phase of the AFDT process during which an error occurred.
Definition: afdt.h:95
int afdt_send_fd_msg(int connfd, const uint8_t *content, uint32_t content_len, int fd_to_send, struct afdt_error_t *err)
Send a message with an optional file descriptor.
enum afdt_phase phase
High-level phase during which the error occurred.
Definition: afdt.h:135
const char * afdt_phase_str(enum afdt_phase phase)
Convert afdt_phase into a textual description.
void(* afdt_response_handler_t)(const uint8_t *response, uint32_t response_length, int received_fd, void *userdata)
Callback type for processing an AFDT response.
Definition: afdt.h:336
int afdt_recv_plain_msg(int connfd, uint8_t *content, uint32_t *content_len, struct afdt_error_t *err)
Receive a message with no file descriptor.
int afdt_create_server(const char *fname, struct event_base *eb, afdt_request_handler_t request_handler, afdt_post_handler_t post_handler, afdt_error_handler_t error_handler, void **out_close_handle, void *userdata)
Create a server to make file descriptors available.
int afdt_close_server(void *close_handle)
Shut down a server created by afdt_create_server.
const struct afdt_error_t AFDT_ERROR_T_INIT
Initializer for error information.
int afdt_recv_fd_msg(int connfd, uint8_t *content, uint32_t *content_len, int *received_fd, struct afdt_error_t *err)
Receive a message with an optional file descriptor.
const char * afdt_operation_str(enum afdt_operation operation)
Convert afdt_operation into a textual description.
afdt_operation
Operation that resulted in an error.
Definition: afdt.h:111