Mercurial > core / lisp/ffi/rustls/rustls.lisp
changeset 698: |
96958d3eb5b0 |
parent: |
ebe3315b7add
|
author: |
Richard Westhaver <ellis@rwest.io> |
date: |
Fri, 04 Oct 2024 22:04:59 -0400 |
permissions: |
-rw-r--r-- |
description: |
fixes |
1 ;;; rustls/rustls.lisp --- Rustls Alien Routines 8 (define-alien-routine rustls-version c-string) 10 (define-alien-routine rustls-acceptor-new (* rustls-acceptor)) 12 (define-alien-routine rustls-acceptor-free void (acceptor (* rustls-acceptor))) 14 (define-alien-routine rustls-acceptor-read-tls rustls-io-result 15 (acceptor (* rustls-acceptor)) 16 (callback #+nil rustls-read-callback (* t)) 20 (define-alien-routine rustls-acceptor-accept rustls-result 21 (acceptor (* rustls-acceptor)) 22 (out-accepted (* (* rustls-accepted))) 23 (out-alert (* (* rustls-accepted-alert)))) 25 (define-alien-routine rustls-accepted-server-name c-string 26 (accepted (* rustls-accepted))) 28 (define-alien-routine rustls-accepted-signature-scheme (unsigned 16) 29 (accepted (* rustls-accepted)) 32 (define-alien-routine rustls-accepted-cipher-scheme (unsigned 16) 33 (accepted (* rustls-accepted)) 36 ;; (define-alien-routine rustls-accepted-alpn rustls-slice-bytes 37 ;; (accepted (* rustls-accepted)) 40 (define-alien-routine rustls-accepted-into-connection rustls-result 41 (accepted (* rustls-accepted)) 42 (config (* rustls-server-config)) 43 (out-conn (* (* rustls-connection))) 44 (out-alert (* (* rustls-accepted-alert)))) 46 (define-alien-routine rustls-accepted-free void (accepted (* rustls-accepted))) 48 (define-alien-routine rustls-accepted-alert-write-tls rustls-io-result 49 (accepted-alert (* rustls-accepted-alert)) 50 (callback rustls-write-callback) 54 (define-alien-routine rustls-accepted-alert-free void 55 (accepted-alert (* rustls-accepted-alert))) 57 (define-alien-routine rustls-certificate-get-der rustls-result 58 (cert (* rustls-certificate)) 59 (out-der-data (* (* (unsigned 8)))) 60 (out-der-len (* size-t))) 62 (define-alien-routine rustls-supported-ciphersuite-get-suite (unsigned 16) 63 (supported-ciphersuite (* rustls-supported-ciphersuite))) 65 (define-alien-routine rustls-supported-ciphersuite-get-name c-string 66 (supported-ciphersuite (* rustls-supported-ciphersuite))) 68 (define-alien-routine rustls-all-ciphersuites-len size-t) 70 (define-alien-routine rustls-all-ciphersuites-get-entry (* rustls-supported-ciphersuite) 73 (define-alien-routine rustls-default-ciphersuites-len size-t) 75 (define-alien-routine rustls-default-ciphersuites-get-entry (* rustls-supported-ciphersuite) 78 (define-alien-routine rustls-certified-key-build rustls-result 79 (cert-chain (array (unsigned 8))) 80 (cert-chain-len size-t) 81 (private-key (array (unsigned 8))) 82 (private-key-len size-t) 83 (certified-key-out (* (* rustls-certified-key)))) 85 (define-alien-routine rustls-certified-key-get-certificate (* rustls-certificate) 86 (certified-key (* rustls-certified-key)) 89 (define-alien-routine rustls-certified-key-clone-with-ocsp rustls-result 90 (certified-key (* rustls-certified-key)) 91 (ocsp-response (* rustls-slice-bytes)) 92 (clone-key-out (* (* rustls-certified-key)))) 94 (define-alien-routine rustls-certified-key-free void (key (* rustls-certified-key))) 96 ;; (define-alien-routine rustls-root-cert-store-builder-new (* rustls-root-cert-store-builder)) 98 (define-alien-routine rustls-root-cert-store-builder-add-pem rustls-result 99 (builder (* rustls-root-cert-store-builder)) 100 (pem (array (unsigned 8))) 104 (define-alien-routine rustls-root-cert-store-builder-load-roots-from-file rustls-result 105 (builder (* rustls-root-cert-store-builder)) 109 (define-alien-routine rustls-root-cert-store-builder-build rustls-result 110 (builder (* rustls-root-cert-store-builder)) 111 (root-cert-store-out (* (* rustls-root-cert-store)))) 113 (define-alien-routine rustls-root-cert-store-builder-free void 114 (builder (* rustls-root-cert-store-builder))) 116 (define-alien-routine rustls-root-cert-store-free void 117 (storer (* rustls-root-cert-store))) 119 (define-alien-routine rustls-client-cert-verifier-free void 120 (verifier (* rustls-client-cert-verifier))) 122 (define-alien-routine rustls-web-pki-client-cert-verifier-builder-new (* rustls-web-pki-client-cert-verifier-builder) 123 (store (* rustls-root-cert-store))) 125 (define-alien-routine rustls-web-pki-client-cert-verifier-builder-add-crl rustls-result 126 (builder (* rustls-web-pki-client-cert-verifier-builder)) 127 (crl-pem (array (unsigned 8))) 128 (crl-pem-len size-t)) 130 (define-alien-routine rustls-web-pki-client-cert-verifier-only-check-end-entity-revocation rustls-result 131 (builder (* rustls-web-pki-client-cert-verifier-builder))) 133 (define-alien-routine rustls-web-pki-client-cert-verifier-allow-unknown-revocation-status rustls-result 134 (builder (* rustls-web-pki-client-cert-verifier-builder))) 136 (define-alien-routine rustls-web-pki-client-cert-verifier-allow-unauthenticated rustls-result 137 (builder (* rustls-web-pki-client-cert-verifier-builder))) 139 (define-alien-routine rustls-web-pki-client-cert-verifier-clear-root-hint-subjects rustls-result 140 (builder (* rustls-web-pki-client-cert-verifier-builder))) 142 (define-alien-routine rustls-web-pki-client-cert-verifier-add-root-hint-subjects rustls-result 143 (builder (* rustls-web-pki-client-cert-verifier-builder)) 144 (store (* rustls-root-cert-store))) 146 (define-alien-routine rustls-web-pki-client-cert-verifier-builder-build rustls-result 147 (builder (* rustls-web-pki-client-cert-verifier-builder)) 148 (verifier-out (* (* rustls-client-cert-verifier)))) 150 (define-alien-routine rustls-web-pki-client-cert-verifier-builder-free void 151 (builder (* rustls-web-pki-client-cert-verifier-builder))) 153 ;;; rustls_web_pki_server_cert_verifier 155 ;;; rustls_client_config 157 ;;; rustls_client_connection 158 (define-alien-routine rustls-client-connection-new rustls-result 159 (config (* rustls-client-config)) 160 (server-name c-string) 161 (conn-out (* (* rustls-connection)))) 163 (define-alien-routine rustls-connection-set-userdata void 164 (conn (* rustls-connection)) 167 (define-alien-routine rustls-connection-set-log-callback void 168 (conn (* rustls-connection)) 169 (cb rustls-log-callback)) 171 (define-alien-routine rustls-connection-read-tls rustls-io-result 172 (conn (* rustls-connection)) 173 (callback rustls-read-callback) 177 (define-alien-routine rustls-connection-write-tls rustls-io-result 178 (conn (* rustls-connection)) 179 (callback rustls-write-callback) 183 (define-alien-routine rustls-connection-write-tls-vectored rustls-io-result 184 (conn (* rustls-connection)) 185 (callback rustls-write-vectored-callback) 189 (define-alien-routine rustls-connection-process-new-packets rustls-result 190 (conn (* rustls-connection))) 192 (define-alien-routine rustls-connection-wants-read boolean 193 (conn (* rustls-connection))) 195 (define-alien-routine rustls-connection-wants-write boolean 196 (conn (* rustls-connection))) 198 (define-alien-routine rustls-connection-is-handshaking boolean 199 (conn (* rustls-connection))) 201 (define-alien-routine rustls-connection-set-buffer-limit void 202 (conn (* rustls-connection)) 205 (define-alien-routine rustls-connection-send-close-notify void 206 (conn (* rustls-connection))) 208 (define-alien-routine rustls-connection-get-peer-certificate (* rustls-certificate) 209 (conn (* rustls-connection)) 212 (define-alien-routine rustls-connection-get-alpn-protocol void 213 (conn (* rustls-connection)) 214 (protocol-out (* (array (unsigned 8)))) 215 (protocol-out-len (* size-t))) 217 (define-alien-routine rustls-connection-get-protocol-version (unsigned 16) 218 (conn (* rustls-connection))) 220 (define-alien-routine rustls-connection-get-negotiated-ciphersuite (* rustls-supported-ciphersuite) 221 (conn (* rustls-connection))) 223 (define-alien-routine rustls-connection-write rustls-result 224 (conn (* rustls-connection)) 225 (buf (array (unsigned 8))) 229 (define-alien-routine rustls-connection-read rustls-result 230 (conn (* rustls-connection)) 231 (buf (array (unsigned 8))) 235 (define-alien-routine rustl-connection-free void (conn (* rustls-connection))) 237 (define-alien-routine rustls-error void (result rustls-result) (len size-t) (out-n (* size-t))) 239 (define-alien-routine rustls-result-is-cert-errorerror boolean (result rustls-result)) 241 (define-alien-routine rustls-log-level-str c-string (level rustls-log-level)) 243 (define-alien-routine rustls-slice-slice-bytes-len size-t 244 (input (* rustls-slice-slice-bytes))) 246 ;; (define-alien-routine rustls-slice-slice-bytes-get rustls-slice-bytes 247 ;; (input (* rustls-slice-slice-bytes)) 250 (define-alien-routine rustls-slice-str-len size-t 251 (input (* rustls-slice-str))) 253 (define-alien-routine rustls-slice-str-get c-string 254 (input (* rustls-slice-str)) 257 ;;; rustls_server_config 258 (define-alien-routine rustls-server-config-builder-new (* rustls-server-config-builder)) 260 (define-alien-routine rustls-server-config-builder-free void (config (* rustls-server-config-builder))) 262 (define-alien-routine rustls-server-config-builder-build (* rustls-server-config) (builder (* rustls-server-config-builder))) 264 (define-alien-routine rustls-server-config-free void (config (* rustls-server-config))) 266 (define-alien-routine rustls-server-connection-new rustls-result 267 (config (* rustls-server-config)) 268 (conn-out (* (* rustls-connection)))) 270 (define-alien-routine rustls-server-connection-get-server-name rustls-result 271 (conn (* rustls-connection)) 272 (buf (* unsigned-char)) 276 (define-alien-routine rustls-server-config-builder-set-hello-callback rustls-result 277 (builder (* rustls-server-config-builder)) 278 (callback rustls-client-hello-callback)) 280 (define-alien-routine rustls-client-hello-select-certified-key rustls-result 281 (hello (* rustls-client-hello)) 282 (certified-keys (* (* rustls-certified-key))) 283 (certified-keys-len size-t) 284 (out-key (* (* rustls-certified-key)))) 286 (define-alien-routine rustls-server-config-builder-set-persistence rustls-result 287 (builder (* rustls-server-config-builder)) 288 (get-cb rustls-session-store-get-callback) 289 (put-cb rustls-session-store-put-callback))