sshagent.h (2269B)
1/** 2 * FreeRDP: A Remote Desktop Protocol Implementation 3 * SSH Agent Virtual Channel Extension 4 * 5 * Copyright 2017 Ben Cohen 6 * 7 * Licensed under the Apache License, Version 2.0 (the "License"); 8 * you may not use this file except in compliance with the License. 9 * You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, software 14 * distributed under the License is distributed on an "AS IS" BASIS, 15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 * See the License for the specific language governing permissions and 17 * limitations under the License. 18 */ 19 20#ifndef FREERDP_CHANNEL_CLIENT_SSHAGENT_H 21#define FREERDP_CHANNEL_CLIENT_SSHAGENT_H 22 23#include <freerdp/types.h> 24 25#include <freerdp/message.h> 26#include <freerdp/channels/cliprdr.h> 27#include <freerdp/freerdp.h> 28 29typedef struct _sshagent_client_context 30{ 31 int ProtocolVersion; 32 int MaxConnections; 33} SSHAgentClientContext; 34 35/* 36 * The channel is defined by the sshagent channel in xrdp as follows. 37 * 38 * Server to client commands 39 * ------------------------- 40 * 41 * Capabilities (at start of channel stream): 42 * 43 * INT32 SA_TAG_CAPABILITY 44 * INT32 SSHAGENT_CHAN_PROT_VERSION := 1 45 * INT32 SSHAGENT_MAX_CONNECTIONS 46 * 47 * Open connection: 48 * 49 * INT32 SA_TAG_OPEN 50 * INT32 Connection id (0, ..., SSHAGENT_MAX_CONNECTIONS - 1) 51 * 52 * Send data: 53 * 54 * INT32 SA_TAG_WRITE 55 * INT32 Connection id (0, ..., SSHAGENT_MAX_CONNECTIONS - 1) 56 * INT32 Data length 57 * DATA ... 58 * 59 * Close connection: 60 * 61 * INT32 SA_TAG_CLOSE 62 * INT32 Connection id (0, ..., SSHAGENT_MAX_CONNECTIONS - 1) 63 * 64 * Client to server commands 65 * ------------------------- 66 * 67 * Capabilities (in reply to server capabilities): 68 * 69 * INT32 SA_TAG_CAPABILITY 70 * INT32 SSHAGENT_CHAN_PROT_VERSION := 1 71 * INT32 SSHAGENT_MAX_CONNECTIONS 72 * 73 * Send data: 74 * 75 * INT32 SA_TAG_WRITE 76 * INT32 Connection id (0, ..., SSHAGENT_MAX_CONNECTIONS - 1) 77 * INT32 Data length 78 * DATA ... 79 * 80 * Close connection (abnormal): 81 * 82 * INT32 SA_TAG_CLOSE 83 * INT32 Connection id (0, ..., SSHAGENT_MAX_CONNECTIONS - 1) 84 */ 85 86#endif /* FREERDP_CHANNEL_CLIENT_SSHAGENT_H */