cscg24-guacamole

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

addin.h (2995B)


      1/**
      2 * FreeRDP: A Remote Desktop Protocol Implementation
      3 * Addin Loader
      4 *
      5 * Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
      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_COMMON_ADDIN_H
     21#define FREERDP_COMMON_ADDIN_H
     22
     23#include <freerdp/api.h>
     24#include <freerdp/types.h>
     25
     26#define FREERDP_ADDIN_CLIENT 0x00000001
     27#define FREERDP_ADDIN_SERVER 0x00000002
     28
     29#define FREERDP_ADDIN_STATIC 0x00000010
     30#define FREERDP_ADDIN_DYNAMIC 0x00000020
     31
     32#define FREERDP_ADDIN_NAME 0x00000100
     33#define FREERDP_ADDIN_SUBSYSTEM 0x00000200
     34#define FREERDP_ADDIN_TYPE 0x00000400
     35
     36#define FREERDP_ADDIN_CHANNEL_STATIC 0x00001000
     37#define FREERDP_ADDIN_CHANNEL_DYNAMIC 0x00002000
     38#define FREERDP_ADDIN_CHANNEL_DEVICE 0x00004000
     39#define FREERDP_ADDIN_CHANNEL_ENTRYEX 0x00008000
     40
     41struct _FREERDP_ADDIN
     42{
     43	DWORD dwFlags;
     44	CHAR cName[16];
     45	CHAR cType[16];
     46	CHAR cSubsystem[16];
     47};
     48typedef struct _FREERDP_ADDIN FREERDP_ADDIN;
     49
     50typedef PVIRTUALCHANNELENTRY (*FREERDP_LOAD_CHANNEL_ADDIN_ENTRY_FN)(LPCSTR pszName,
     51                                                                    LPCSTR pszSubsystem,
     52                                                                    LPCSTR pszType, DWORD dwFlags);
     53
     54#ifdef __cplusplus
     55extern "C"
     56{
     57#endif
     58
     59	FREERDP_API LPSTR freerdp_get_library_install_path(void);
     60	FREERDP_API LPSTR freerdp_get_dynamic_addin_install_path(void);
     61
     62	FREERDP_API int freerdp_register_addin_provider(FREERDP_LOAD_CHANNEL_ADDIN_ENTRY_FN provider,
     63	                                                DWORD dwFlags);
     64
     65	FREERDP_API PVIRTUALCHANNELENTRY freerdp_load_dynamic_addin(LPCSTR pszFileName, LPCSTR pszPath,
     66	                                                            LPCSTR pszEntryName);
     67	FREERDP_API PVIRTUALCHANNELENTRY freerdp_load_dynamic_channel_addin_entry(LPCSTR pszName,
     68	                                                                          LPCSTR pszSubsystem,
     69	                                                                          LPCSTR pszType,
     70	                                                                          DWORD dwFlags);
     71	FREERDP_API PVIRTUALCHANNELENTRY freerdp_load_channel_addin_entry(LPCSTR pszName,
     72	                                                                  LPCSTR pszSubsystem,
     73	                                                                  LPCSTR pszType,
     74	                                                                  DWORD dwFlags);
     75
     76#ifdef __cplusplus
     77}
     78#endif
     79
     80#endif /* FREERDP_COMMON_ADDIN_H */