cscg24-guacamole

CSCG 2024 Challenge 'Guacamole Mashup'
git clone https://git.sinitax.com/sinitax/cscg24-guacamole
Log | Files | Refs | sfeed.txt

svc.h (2629B)


      1/**
      2 * FreeRDP: A Remote Desktop Protocol Implementation
      3 * Static Virtual Channel Interface
      4 *
      5 * Copyright 2009-2011 Jay Sorg
      6 * Copyright 2015 Thincast Technologies GmbH
      7 * Copyright 2015 DI (FH) Martin Haimberger <martin.haimberger@thincast.com>
      8 *
      9 * Licensed under the Apache License, Version 2.0 (the "License");
     10 * you may not use this file except in compliance with the License.
     11 * You may obtain a copy of the License at
     12 *
     13 *     http://www.apache.org/licenses/LICENSE-2.0
     14 *
     15 * Unless required by applicable law or agreed to in writing, software
     16 * distributed under the License is distributed on an "AS IS" BASIS,
     17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     18 * See the License for the specific language governing permissions and
     19 * limitations under the License.
     20 */
     21
     22#ifndef FREERDP_SVC_H
     23#define FREERDP_SVC_H
     24
     25#include <freerdp/api.h>
     26#include <freerdp/types.h>
     27
     28#include <winpr/wtsapi.h>
     29#include <freerdp/freerdp.h>
     30
     31#define CHANNEL_EVENT_USER 1000
     32
     33#define CHANNEL_EXPORT_FUNC_NAME "VirtualChannelEntry"
     34#define CHANNEL_EXPORT_FUNC_NAME_EX "VirtualChannelEntryEx"
     35
     36#define FREERDP_CHANNEL_MAGIC_NUMBER 0x46524450
     37
     38struct _CHANNEL_ENTRY_POINTS_FREERDP
     39{
     40	UINT32 cbSize;
     41	UINT32 protocolVersion;
     42	PVIRTUALCHANNELINIT pVirtualChannelInit;
     43	PVIRTUALCHANNELOPEN pVirtualChannelOpen;
     44	PVIRTUALCHANNELCLOSE pVirtualChannelClose;
     45	PVIRTUALCHANNELWRITE pVirtualChannelWrite;
     46
     47	/* Extended Fields */
     48	UINT32 MagicNumber;  /* identifies FreeRDP */
     49	void* pExtendedData; /* extended initial data */
     50	void* pInterface;    /* channel callback interface, use after initialization */
     51	void** ppInterface;  /* channel callback interface, use for initialization */
     52	rdpContext* context;
     53};
     54typedef struct _CHANNEL_ENTRY_POINTS_FREERDP CHANNEL_ENTRY_POINTS_FREERDP;
     55typedef CHANNEL_ENTRY_POINTS_FREERDP* PCHANNEL_ENTRY_POINTS_FREERDP;
     56
     57struct _CHANNEL_ENTRY_POINTS_FREERDP_EX
     58{
     59	UINT32 cbSize;
     60	UINT32 protocolVersion;
     61	PVIRTUALCHANNELINITEX pVirtualChannelInitEx;
     62	PVIRTUALCHANNELOPENEX pVirtualChannelOpenEx;
     63	PVIRTUALCHANNELCLOSEEX pVirtualChannelCloseEx;
     64	PVIRTUALCHANNELWRITEEX pVirtualChannelWriteEx;
     65
     66	/* Extended Fields */
     67	UINT32 MagicNumber;  /* identifies FreeRDP */
     68	void* pExtendedData; /* extended initial data */
     69	void* pInterface;    /* channel callback interface, use after initialization */
     70	void** ppInterface;  /* channel callback interface, use for initialization */
     71	rdpContext* context;
     72};
     73typedef struct _CHANNEL_ENTRY_POINTS_FREERDP_EX CHANNEL_ENTRY_POINTS_FREERDP_EX;
     74typedef CHANNEL_ENTRY_POINTS_FREERDP_EX* PCHANNEL_ENTRY_POINTS_FREERDP_EX;
     75
     76#endif /* FREERDP_SVC_H */