GRPC Core  9.0.0
Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
transport_security_interface.h File Reference
#include <grpc/support/port_platform.h>
#include <stdint.h>
#include <stdlib.h>
#include "src/core/lib/debug/trace.h"

Go to the source code of this file.

Data Structures

struct  tsi_peer_property
 
struct  tsi_peer
 

Macros

#define TSI_CERTIFICATE_TYPE_PEER_PROPERTY   "certificate_type"
 
#define tsi_handshaker_is_in_progress(h)   (tsi_handshaker_get_result((h)) == TSI_HANDSHAKE_IN_PROGRESS)
 

Typedefs

typedef struct tsi_zero_copy_grpc_protector tsi_zero_copy_grpc_protector
 
typedef struct tsi_frame_protector tsi_frame_protector
 
typedef struct tsi_peer_property tsi_peer_property
 
typedef struct tsi_handshaker_result tsi_handshaker_result
 
typedef struct tsi_handshaker tsi_handshaker
 
typedef void(* tsi_handshaker_on_next_done_cb) (tsi_result status, void *user_data, const unsigned char *bytes_to_send, size_t bytes_to_send_size, tsi_handshaker_result *handshaker_result)
 

Enumerations

enum  tsi_result {
  TSI_OK = 0, TSI_UNKNOWN_ERROR = 1, TSI_INVALID_ARGUMENT = 2, TSI_PERMISSION_DENIED = 3,
  TSI_INCOMPLETE_DATA = 4, TSI_FAILED_PRECONDITION = 5, TSI_UNIMPLEMENTED = 6, TSI_INTERNAL_ERROR = 7,
  TSI_DATA_CORRUPTED = 8, TSI_NOT_FOUND = 9, TSI_PROTOCOL_FAILURE = 10, TSI_HANDSHAKE_IN_PROGRESS = 11,
  TSI_OUT_OF_RESOURCES = 12, TSI_ASYNC = 13, TSI_HANDSHAKE_SHUTDOWN = 14
}
 
enum  tsi_client_certificate_request_type {
  TSI_DONT_REQUEST_CLIENT_CERTIFICATE, TSI_REQUEST_CLIENT_CERTIFICATE_BUT_DONT_VERIFY, TSI_REQUEST_CLIENT_CERTIFICATE_AND_VERIFY, TSI_REQUEST_AND_REQUIRE_CLIENT_CERTIFICATE_BUT_DONT_VERIFY,
  TSI_REQUEST_AND_REQUIRE_CLIENT_CERTIFICATE_AND_VERIFY
}
 

Functions

const char * tsi_result_to_string (tsi_result result)
 
tsi_result tsi_frame_protector_protect (tsi_frame_protector *self, const unsigned char *unprotected_bytes, size_t *unprotected_bytes_size, unsigned char *protected_output_frames, size_t *protected_output_frames_size)
 
tsi_result tsi_frame_protector_protect_flush (tsi_frame_protector *self, unsigned char *protected_output_frames, size_t *protected_output_frames_size, size_t *still_pending_size)
 
tsi_result tsi_frame_protector_unprotect (tsi_frame_protector *self, const unsigned char *protected_frames_bytes, size_t *protected_frames_bytes_size, unsigned char *unprotected_bytes, size_t *unprotected_bytes_size)
 
void tsi_frame_protector_destroy (tsi_frame_protector *self)
 
void tsi_peer_destruct (tsi_peer *self)
 
tsi_result tsi_handshaker_result_extract_peer (const tsi_handshaker_result *self, tsi_peer *peer)
 
tsi_result tsi_handshaker_result_create_frame_protector (const tsi_handshaker_result *self, size_t *max_output_protected_frame_size, tsi_frame_protector **protector)
 
tsi_result tsi_handshaker_result_get_unused_bytes (const tsi_handshaker_result *self, const unsigned char **bytes, size_t *byte_size)
 
void tsi_handshaker_result_destroy (tsi_handshaker_result *self)
 
tsi_result tsi_handshaker_get_bytes_to_send_to_peer (tsi_handshaker *self, unsigned char *bytes, size_t *bytes_size)
 
tsi_result tsi_handshaker_process_bytes_from_peer (tsi_handshaker *self, const unsigned char *bytes, size_t *bytes_size)
 
tsi_result tsi_handshaker_get_result (tsi_handshaker *self)
 
tsi_result tsi_handshaker_extract_peer (tsi_handshaker *self, tsi_peer *peer)
 
tsi_result tsi_handshaker_create_frame_protector (tsi_handshaker *self, size_t *max_output_protected_frame_size, tsi_frame_protector **protector)
 
tsi_result tsi_handshaker_next (tsi_handshaker *self, const unsigned char *received_bytes, size_t received_bytes_size, const unsigned char **bytes_to_send, size_t *bytes_to_send_size, tsi_handshaker_result **handshaker_result, tsi_handshaker_on_next_done_cb cb, void *user_data)
 
void tsi_handshaker_shutdown (tsi_handshaker *self)
 
void tsi_handshaker_destroy (tsi_handshaker *self)
 
void tsi_init ()
 
void tsi_destroy ()
 

Variables

grpc_core::TraceFlag tsi_tracing_enabled
 

Macro Definition Documentation

◆ TSI_CERTIFICATE_TYPE_PEER_PROPERTY

#define TSI_CERTIFICATE_TYPE_PEER_PROPERTY   "certificate_type"

◆ tsi_handshaker_is_in_progress

#define tsi_handshaker_is_in_progress (   h)    (tsi_handshaker_get_result((h)) == TSI_HANDSHAKE_IN_PROGRESS)

Typedef Documentation

◆ tsi_frame_protector

◆ tsi_handshaker

◆ tsi_handshaker_on_next_done_cb

typedef void(* tsi_handshaker_on_next_done_cb) (tsi_result status, void *user_data, const unsigned char *bytes_to_send, size_t bytes_to_send_size, tsi_handshaker_result *handshaker_result)

◆ tsi_handshaker_result

◆ tsi_peer_property

◆ tsi_zero_copy_grpc_protector

Enumeration Type Documentation

◆ tsi_client_certificate_request_type

Enumerator
TSI_DONT_REQUEST_CLIENT_CERTIFICATE 
TSI_REQUEST_CLIENT_CERTIFICATE_BUT_DONT_VERIFY 
TSI_REQUEST_CLIENT_CERTIFICATE_AND_VERIFY 
TSI_REQUEST_AND_REQUIRE_CLIENT_CERTIFICATE_BUT_DONT_VERIFY 
TSI_REQUEST_AND_REQUIRE_CLIENT_CERTIFICATE_AND_VERIFY 

◆ tsi_result

enum tsi_result
Enumerator
TSI_OK 
TSI_UNKNOWN_ERROR 
TSI_INVALID_ARGUMENT 
TSI_PERMISSION_DENIED 
TSI_INCOMPLETE_DATA 
TSI_FAILED_PRECONDITION 
TSI_UNIMPLEMENTED 
TSI_INTERNAL_ERROR 
TSI_DATA_CORRUPTED 
TSI_NOT_FOUND 
TSI_PROTOCOL_FAILURE 
TSI_HANDSHAKE_IN_PROGRESS 
TSI_OUT_OF_RESOURCES 
TSI_ASYNC 
TSI_HANDSHAKE_SHUTDOWN 

Function Documentation

◆ tsi_destroy()

void tsi_destroy ( )

◆ tsi_frame_protector_destroy()

void tsi_frame_protector_destroy ( tsi_frame_protector self)

◆ tsi_frame_protector_protect()

tsi_result tsi_frame_protector_protect ( tsi_frame_protector self,
const unsigned char *  unprotected_bytes,
size_t *  unprotected_bytes_size,
unsigned char *  protected_output_frames,
size_t *  protected_output_frames_size 
)

◆ tsi_frame_protector_protect_flush()

tsi_result tsi_frame_protector_protect_flush ( tsi_frame_protector self,
unsigned char *  protected_output_frames,
size_t *  protected_output_frames_size,
size_t *  still_pending_size 
)

◆ tsi_frame_protector_unprotect()

tsi_result tsi_frame_protector_unprotect ( tsi_frame_protector self,
const unsigned char *  protected_frames_bytes,
size_t *  protected_frames_bytes_size,
unsigned char *  unprotected_bytes,
size_t *  unprotected_bytes_size 
)

◆ tsi_handshaker_create_frame_protector()

tsi_result tsi_handshaker_create_frame_protector ( tsi_handshaker self,
size_t *  max_output_protected_frame_size,
tsi_frame_protector **  protector 
)

◆ tsi_handshaker_destroy()

void tsi_handshaker_destroy ( tsi_handshaker self)

◆ tsi_handshaker_extract_peer()

tsi_result tsi_handshaker_extract_peer ( tsi_handshaker self,
tsi_peer peer 
)

◆ tsi_handshaker_get_bytes_to_send_to_peer()

tsi_result tsi_handshaker_get_bytes_to_send_to_peer ( tsi_handshaker self,
unsigned char *  bytes,
size_t *  bytes_size 
)

◆ tsi_handshaker_get_result()

tsi_result tsi_handshaker_get_result ( tsi_handshaker self)

◆ tsi_handshaker_next()

tsi_result tsi_handshaker_next ( tsi_handshaker self,
const unsigned char *  received_bytes,
size_t  received_bytes_size,
const unsigned char **  bytes_to_send,
size_t *  bytes_to_send_size,
tsi_handshaker_result **  handshaker_result,
tsi_handshaker_on_next_done_cb  cb,
void *  user_data 
)

◆ tsi_handshaker_process_bytes_from_peer()

tsi_result tsi_handshaker_process_bytes_from_peer ( tsi_handshaker self,
const unsigned char *  bytes,
size_t *  bytes_size 
)

◆ tsi_handshaker_result_create_frame_protector()

tsi_result tsi_handshaker_result_create_frame_protector ( const tsi_handshaker_result self,
size_t *  max_output_protected_frame_size,
tsi_frame_protector **  protector 
)

◆ tsi_handshaker_result_destroy()

void tsi_handshaker_result_destroy ( tsi_handshaker_result self)

◆ tsi_handshaker_result_extract_peer()

tsi_result tsi_handshaker_result_extract_peer ( const tsi_handshaker_result self,
tsi_peer peer 
)

◆ tsi_handshaker_result_get_unused_bytes()

tsi_result tsi_handshaker_result_get_unused_bytes ( const tsi_handshaker_result self,
const unsigned char **  bytes,
size_t *  byte_size 
)

◆ tsi_handshaker_shutdown()

void tsi_handshaker_shutdown ( tsi_handshaker self)

◆ tsi_init()

void tsi_init ( )

◆ tsi_peer_destruct()

void tsi_peer_destruct ( tsi_peer self)

◆ tsi_result_to_string()

const char* tsi_result_to_string ( tsi_result  result)

Variable Documentation

◆ tsi_tracing_enabled

grpc_core::TraceFlag tsi_tracing_enabled