Blame include/freerdp/client/sshagent.h

Packit 1fb8d4
/**
Packit 1fb8d4
 * FreeRDP: A Remote Desktop Protocol Implementation
Packit 1fb8d4
 * SSH Agent Virtual Channel Extension
Packit 1fb8d4
 *
Packit 1fb8d4
 * Copyright 2017 Ben Cohen
Packit 1fb8d4
 *
Packit 1fb8d4
 * Licensed under the Apache License, Version 2.0 (the "License");
Packit 1fb8d4
 * you may not use this file except in compliance with the License.
Packit 1fb8d4
 * You may obtain a copy of the License at
Packit 1fb8d4
 *
Packit 1fb8d4
 *     http://www.apache.org/licenses/LICENSE-2.0
Packit 1fb8d4
 *
Packit 1fb8d4
 * Unless required by applicable law or agreed to in writing, software
Packit 1fb8d4
 * distributed under the License is distributed on an "AS IS" BASIS,
Packit 1fb8d4
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Packit 1fb8d4
 * See the License for the specific language governing permissions and
Packit 1fb8d4
 * limitations under the License.
Packit 1fb8d4
 */
Packit 1fb8d4
Packit 1fb8d4
#ifndef FREERDP_CHANNEL_CLIENT_SSHAGENT_H
Packit 1fb8d4
#define FREERDP_CHANNEL_CLIENT_SSHAGENT_H
Packit 1fb8d4
Packit 1fb8d4
#include <freerdp/types.h>
Packit 1fb8d4
Packit 1fb8d4
#include <freerdp/message.h>
Packit 1fb8d4
#include <freerdp/channels/cliprdr.h>
Packit 1fb8d4
#include <freerdp/freerdp.h>
Packit 1fb8d4
Packit 1fb8d4
typedef struct _sshagent_client_context
Packit 1fb8d4
{
Packit 1fb8d4
  int ProtocolVersion;
Packit 1fb8d4
  int MaxConnections;
Packit 1fb8d4
} SSHAgentClientContext;
Packit 1fb8d4
Packit 1fb8d4
Packit 1fb8d4
/*
Packit 1fb8d4
 * The channel is defined by the sshagent channel in xrdp as follows.
Packit 1fb8d4
 *
Packit 1fb8d4
 * Server to client commands
Packit 1fb8d4
 * -------------------------
Packit 1fb8d4
 *
Packit 1fb8d4
 * Capabilities (at start of channel stream):
Packit 1fb8d4
 *
Packit 1fb8d4
 *    INT32  SA_TAG_CAPABILITY
Packit 1fb8d4
 *    INT32  SSHAGENT_CHAN_PROT_VERSION := 1
Packit 1fb8d4
 *    INT32  SSHAGENT_MAX_CONNECTIONS
Packit 1fb8d4
 *
Packit 1fb8d4
 * Open connection:
Packit 1fb8d4
 *
Packit 1fb8d4
 *    INT32  SA_TAG_OPEN
Packit 1fb8d4
 *    INT32  Connection id (0, ..., SSHAGENT_MAX_CONNECTIONS - 1)
Packit 1fb8d4
 *
Packit 1fb8d4
 * Send data:
Packit 1fb8d4
 * 
Packit 1fb8d4
 *    INT32  SA_TAG_WRITE
Packit 1fb8d4
 *    INT32  Connection id (0, ..., SSHAGENT_MAX_CONNECTIONS - 1)
Packit 1fb8d4
 *    INT32  Data length
Packit 1fb8d4
 *    DATA   ...
Packit 1fb8d4
 *
Packit 1fb8d4
 * Close connection:
Packit 1fb8d4
 *
Packit 1fb8d4
 *    INT32  SA_TAG_CLOSE
Packit 1fb8d4
 *    INT32  Connection id (0, ..., SSHAGENT_MAX_CONNECTIONS - 1)
Packit 1fb8d4
 *      
Packit 1fb8d4
 * Client to server commands
Packit 1fb8d4
 * -------------------------
Packit 1fb8d4
 *
Packit 1fb8d4
 * Capabilities (in reply to server capabilities):
Packit 1fb8d4
 *
Packit 1fb8d4
 *    INT32  SA_TAG_CAPABILITY
Packit 1fb8d4
 *    INT32  SSHAGENT_CHAN_PROT_VERSION := 1
Packit 1fb8d4
 *    INT32  SSHAGENT_MAX_CONNECTIONS
Packit 1fb8d4
 *
Packit 1fb8d4
 * Send data:
Packit 1fb8d4
 * 
Packit 1fb8d4
 *    INT32  SA_TAG_WRITE
Packit 1fb8d4
 *    INT32  Connection id (0, ..., SSHAGENT_MAX_CONNECTIONS - 1)
Packit 1fb8d4
 *    INT32  Data length
Packit 1fb8d4
 *    DATA   ...
Packit 1fb8d4
 *
Packit 1fb8d4
 * Close connection (abnormal):
Packit 1fb8d4
 *
Packit 1fb8d4
 *    INT32  SA_TAG_CLOSE
Packit 1fb8d4
 *    INT32  Connection id (0, ..., SSHAGENT_MAX_CONNECTIONS - 1)
Packit 1fb8d4
 */
Packit 1fb8d4
Packit 1fb8d4
#endif /* FREERDP_CHANNEL_CLIENT_SSHAGENT_H */