rdpdr-fs.h (2022B)
1/* 2 * Licensed to the Apache Software Foundation (ASF) under one 3 * or more contributor license agreements. See the NOTICE file 4 * distributed with this work for additional information 5 * regarding copyright ownership. The ASF licenses this file 6 * to you under the Apache License, Version 2.0 (the 7 * "License"); you may not use this file except in compliance 8 * with the License. You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, 13 * software distributed under the License is distributed on an 14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 * KIND, either express or implied. See the License for the 16 * specific language governing permissions and limitations 17 * under the License. 18 */ 19 20#ifndef GUAC_RDP_RDPDR_FS_H 21#define GUAC_RDP_RDPDR_FS_H 22 23/** 24 * Functions and macros specific to filesystem handling and initialization 25 * independent of RDP. The functions here may deal with the RDPDR device 26 * directly, but their semantics must not deal with RDP protocol messaging. 27 * Functions here represent a virtual Windows-style filesystem on top of UNIX 28 * system calls and structures, using the guac_rdpdr_device structure as a home 29 * for common data. 30 * 31 * @file rdpdr-fs.h 32 */ 33 34#include "channels/common-svc.h" 35#include "channels/rdpdr/rdpdr.h" 36 37#include <guacamole/pool.h> 38 39/** 40 * The UTF-16 string that should be sent as the label of the filesystem. 41 */ 42#define GUAC_FILESYSTEM_LABEL "G\0U\0A\0C\0F\0I\0L\0E\0" 43 44/** 45 * The size of GUAC_FILESYSTEM_LABEL in bytes. 46 */ 47#define GUAC_FILESYSTEM_LABEL_LENGTH 16 48 49/** 50 * Registers a new filesystem device within the RDPDR plugin. This must be done 51 * before RDPDR connection finishes. 52 * 53 * @param svc 54 * The static virtual channel instance being used for RDPDR. 55 * 56 * @param drive_name 57 * The name of the redirected drive to display in the RDP connection. 58 */ 59void guac_rdpdr_register_fs(guac_rdp_common_svc* svc, char* drive_name); 60 61#endif 62