Coverage report: /home/ellis/comp/core/ffi/ssh2/ssh2.lisp
Kind | Covered | All | % |
expression | 0 | 27 | 0.0 |
branch | 0 | 0 | nil |
Key
Not instrumented
Conditionalized out
Executed
Not executed
Both branches taken
One branch taken
Neither branch taken
1
;;; ffi.lisp --- SSH2 FFI
7
(define-alien-type libssh2-socket int)
8
(define-opaque libssh2-session %libssh2-session)
9
(define-opaque libssh2-channel %libssh2-channel)
10
(define-opaque libssh2-listener %libssh2-listener)
11
(define-opaque libssh2-knownhosts %libssh2-knownhosts)
12
(define-opaque libssh2-agent %libssh2-agent)
14
(define-alien-enum (libssh2-error int)
15
:NONE +LIBSSH2-ERROR-NONE+
16
:SOCKET-NONE +LIBSSH2-ERROR-SOCKET-NONE+
17
:BANNER-RECV +LIBSSH2-ERROR-BANNER-RECV+
18
:BANNER-SEND +LIBSSH2-ERROR-BANNER-SEND+
19
:INVALID-MAC +LIBSSH2-ERROR-INVALID-MAC+
20
:KEX-FAILURE +LIBSSH2-ERROR-KEX-FAILURE+
21
:ALLOC +LIBSSH2-ERROR-ALLOC+
22
:SOCKET-SEND +LIBSSH2-ERROR-SOCKET-SEND+
23
:KEY-EXCHANGE-FAILURE +LIBSSH2-ERROR-KEY-EXCHANGE-FAILURE+
24
:TIMEOUT +LIBSSH2-ERROR-TIMEOUT+
25
:HOSTKEY-INIT +LIBSSH2-ERROR-HOSTKEY-INIT+
26
:HOSTKEY-SIGN +LIBSSH2-ERROR-HOSTKEY-SIGN+
27
:DECRYPT +LIBSSH2-ERROR-DECRYPT+
28
:SOCKET-DISCONNECT +LIBSSH2-ERROR-SOCKET-DISCONNECT+
29
:PROTO +LIBSSH2-ERROR-PROTO+
30
:PASSWORD-EXPIRED +LIBSSH2-ERROR-PASSWORD-EXPIRED+
31
:FILE +LIBSSH2-ERROR-FILE+
32
:METHOD-NONE +LIBSSH2-ERROR-METHOD-NONE+
33
:AUTHENTICATION-FAILED +LIBSSH2-ERROR-AUTHENTICATION-FAILED+
34
:PUBLICKEY-UNVERIFIED +LIBSSH2-ERROR-PUBLICKEY-UNVERIFIED+
35
:CHANNEL-OUTOFORDER +LIBSSH2-ERROR-CHANNEL-OUTOFORDER+
36
:CHANNEL-FAILURE +LIBSSH2-ERROR-CHANNEL-FAILURE+
37
:CHANNEL-REQUEST-DENIED +LIBSSH2-ERROR-CHANNEL-REQUEST-DENIED+
38
:CHANNEL-UNKNOWN +LIBSSH2-ERROR-CHANNEL-UNKNOWN+
39
:CHANNEL-WINDOW-EXCEEDED +LIBSSH2-ERROR-CHANNEL-WINDOW-EXCEEDED+
40
:CHANNEL-PACKET-EXCEEDED +LIBSSH2-ERROR-CHANNEL-PACKET-EXCEEDED+
41
:CHANNEL-CLOSED +LIBSSH2-ERROR-CHANNEL-CLOSED+
42
:CHANNEL-EOF-SENT +LIBSSH2-ERROR-CHANNEL-EOF-SENT+
43
:SCP-PROTOCOL +LIBSSH2-ERROR-SCP-PROTOCOL+
44
:ZLIB +LIBSSH2-ERROR-ZLIB+
45
:SOCKET-TIMEOUT +LIBSSH2-ERROR-SOCKET-TIMEOUT+
46
:SFTP-PROTOCOL +LIBSSH2-ERROR-SFTP-PROTOCOL+
47
:REQUEST-DENIED +LIBSSH2-ERROR-REQUEST-DENIED+
48
:METHOD-NOT-SUPPORTED +LIBSSH2-ERROR-METHOD-NOT-SUPPORTED+
49
:INVAL +LIBSSH2-ERROR-INVAL+
50
:INVALID-POLL-TYPE +LIBSSH2-ERROR-INVALID-POLL-TYPE+
51
:PUBLICKEY-PROTOCOL +LIBSSH2-ERROR-PUBLICKEY-PROTOCOL+
52
:EAGAIN +LIBSSH2-ERROR-EAGAIN+
53
:BUFFER-TOO-SMALL +LIBSSH2-ERROR-BUFFER-TOO-SMALL+
54
:BAD-USE +LIBSSH2-ERROR-BAD-USE+
55
:COMPRESS +LIBSSH2-ERROR-COMPRESS+
56
:OUT-OF-BOUNDARY +LIBSSH2-ERROR-OUT-OF-BOUNDARY+
57
:AGENT-PROTOCOL +LIBSSH2-ERROR-AGENT-PROTOCOL+
58
:SOCKET-RECV +LIBSSH2-ERROR-SOCKET-RECV+
59
:ENCRYPT +LIBSSH2-ERROR-ENCRYPT+
60
:BAD-SOCKET +LIBSSH2-ERROR-BAD-SOCKET+
61
:KNOWN-HOSTS +LIBSSH2-ERROR-KNOWN-HOSTS+)
63
(define-alien-enum (ssh-disconnect int)
64
:HOST-NOT-ALLOWED-TO-CONNECT +SSH-DISCONNECT-HOST-NOT-ALLOWED-TO-CONNECT+
65
:PROTOCOL-ERROR +SSH-DISCONNECT-PROTOCOL-ERROR+
66
:KEY-EXCHANGE-FAILED +SSH-DISCONNECT-KEY-EXCHANGE-FAILED+
67
:RESERVED +SSH-DISCONNECT-RESERVED+
68
:MAC-ERROR +SSH-DISCONNECT-MAC-ERROR+
69
:COMPRESSION-ERROR +SSH-DISCONNECT-COMPRESSION-ERROR+
70
:SERVICE-NOT-AVAILABLE +SSH-DISCONNECT-SERVICE-NOT-AVAILABLE+
71
:PROTOCOL-VERSION-NOT-SUPPORTED +SSH-DISCONNECT-PROTOCOL-VERSION-NOT-SUPPORTED+
72
:HOST-KEY-NOT-VERIFIABLE +SSH-DISCONNECT-HOST-KEY-NOT-VERIFIABLE+
73
:CONNECTION-LOST +SSH-DISCONNECT-CONNECTION-LOST+
74
:BY-APPLICATION +SSH-DISCONNECT-BY-APPLICATION+
75
:TOO-MANY-CONNECTIONS +SSH-DISCONNECT-TOO-MANY-CONNECTIONS+
76
:AUTH-CANCELLED-BY-USER +SSH-DISCONNECT-AUTH-CANCELLED-BY-USER+
77
:NO-MORE-AUTH-METHODS-AVAILABLE +SSH-DISCONNECT-NO-MORE-AUTH-METHODS-AVAILABLE+
78
:ILLEGAL-USER-NAME +SSH-DISCONNECT-ILLEGAL-USER-NAME+)
80
(define-alien-enum (libssh2-callback int)
89
:authagent-identities 8
92
(define-alien-enum (libssh2-method int)
105
(define-alien-enum (libssh2-flag int)
110
(define-alien-enum (libssh2-pollfd int)
119
:session-closed #x0010
122
:channel-closed #x0080
123
:listener-closed #x0080)
125
(define-alien-enum (libssh2-hostkey-type int)
134
(define-alien-enum (libssh2-session-block int)
138
(define-alien-enum (libssh2-hostkey-hash int)
143
(defar libssh2-init int (flags int))
145
(defar libssh2-exit void)
147
(defar libssh2-free void (session (* t)) (ptr (* t)))
149
(defar libssh2-session-supported-algs int
150
(session (* libssh2-session))
152
(algs (* (* c-string))))
154
(defar libssh2-session-init-ex (* libssh2-session)
160
(definline libssh2-session-init () (libssh2-session-init-ex nil nil nil nil))
163
(with-alien ((arr (* c-string)))
164
(let ((sesh (libssh2-session-init-ex nil nil nil nil)))
165
(libssh2-session-supported-algs sesh 0 (addr arr))
166
(c-strings-to-string-list (print arr))))