aboutsummaryrefslogtreecommitdiff
path: root/src/include/ipxe/tls.h
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2012-03-03 22:15:25 +0000
committerMichael Brown <mcb30@ipxe.org>2012-03-03 22:15:25 +0000
commit56a7981d5889c91fb333c6b98daf7b9a9d1ec0ee (patch)
tree08155b1898e00a75552527991da343a967909cae /src/include/ipxe/tls.h
parentb7f8d1bbfd657ecfcae6e74a62766e2e15abaa11 (diff)
downloadipxe-56a7981d5889c91fb333c6b98daf7b9a9d1ec0ee.zip
ipxe-56a7981d5889c91fb333c6b98daf7b9a9d1ec0ee.tar.gz
ipxe-56a7981d5889c91fb333c6b98daf7b9a9d1ec0ee.tar.bz2
[tls] Allow transmitted records to be scheduled independently
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include/ipxe/tls.h')
-rw-r--r--src/include/ipxe/tls.h20
1 files changed, 10 insertions, 10 deletions
diff --git a/src/include/ipxe/tls.h b/src/include/ipxe/tls.h
index 9083378..2aa2b06 100644
--- a/src/include/ipxe/tls.h
+++ b/src/include/ipxe/tls.h
@@ -84,14 +84,12 @@ enum tls_rx_state {
TLS_RX_DATA,
};
-/** TLS TX state machine state */
-enum tls_tx_state {
- TLS_TX_NONE = 0,
- TLS_TX_CLIENT_HELLO,
- TLS_TX_CLIENT_KEY_EXCHANGE,
- TLS_TX_CHANGE_CIPHER,
- TLS_TX_FINISHED,
- TLS_TX_DATA
+/** TLS TX pending flags */
+enum tls_tx_pending {
+ TLS_TX_CLIENT_HELLO = 0x0001,
+ TLS_TX_CLIENT_KEY_EXCHANGE = 0x0002,
+ TLS_TX_CHANGE_CIPHER = 0x0004,
+ TLS_TX_FINISHED = 0x0008,
};
/** A TLS cipher specification */
@@ -172,10 +170,12 @@ struct tls_session {
/** TX sequence number */
uint64_t tx_seq;
- /** TX state */
- enum tls_tx_state tx_state;
+ /** TX pending transmissions */
+ unsigned int tx_pending;
/** TX process */
struct process process;
+ /** TX ready for plaintext data */
+ int tx_ready;
/** RX sequence number */
uint64_t rx_seq;