FreeRDP
sshagent.h
1 
20 #ifndef FREERDP_CHANNEL_CLIENT_SSHAGENT_H
21 #define FREERDP_CHANNEL_CLIENT_SSHAGENT_H
22 
23 #include <freerdp/api.h>
24 #include <freerdp/types.h>
25 
26 #include <freerdp/message.h>
27 #include <freerdp/channels/cliprdr.h>
28 
29 #ifdef __cplusplus
30 extern "C"
31 {
32 #endif
33 
34  typedef struct
35  {
36  int ProtocolVersion;
37  int MaxConnections;
39 
40  /*
41  * The channel is defined by the sshagent channel in xrdp as follows.
42  *
43  * Server to client commands
44  * -------------------------
45  *
46  * Capabilities (at start of channel stream):
47  *
48  * INT32 SA_TAG_CAPABILITY
49  * INT32 SSHAGENT_CHAN_PROT_VERSION := 1
50  * INT32 SSHAGENT_MAX_CONNECTIONS
51  *
52  * Open connection:
53  *
54  * INT32 SA_TAG_OPEN
55  * INT32 Connection id (0, ..., SSHAGENT_MAX_CONNECTIONS - 1)
56  *
57  * Send data:
58  *
59  * INT32 SA_TAG_WRITE
60  * INT32 Connection id (0, ..., SSHAGENT_MAX_CONNECTIONS - 1)
61  * INT32 Data length
62  * DATA ...
63  *
64  * Close connection:
65  *
66  * INT32 SA_TAG_CLOSE
67  * INT32 Connection id (0, ..., SSHAGENT_MAX_CONNECTIONS - 1)
68  *
69  * Client to server commands
70  * -------------------------
71  *
72  * Capabilities (in reply to server capabilities):
73  *
74  * INT32 SA_TAG_CAPABILITY
75  * INT32 SSHAGENT_CHAN_PROT_VERSION := 1
76  * INT32 SSHAGENT_MAX_CONNECTIONS
77  *
78  * Send data:
79  *
80  * INT32 SA_TAG_WRITE
81  * INT32 Connection id (0, ..., SSHAGENT_MAX_CONNECTIONS - 1)
82  * INT32 Data length
83  * DATA ...
84  *
85  * Close connection (abnormal):
86  *
87  * INT32 SA_TAG_CLOSE
88  * INT32 Connection id (0, ..., SSHAGENT_MAX_CONNECTIONS - 1)
89  */
90 
91 #ifdef __cplusplus
92 }
93 #endif
94 
95 #endif /* FREERDP_CHANNEL_CLIENT_SSHAGENT_H */