cscg24-guacamole

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

rdpdr-fs-messages.h (3781B)


      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_CHANNELS_RDPDR_FS_MESSAGES_H
     21#define GUAC_RDP_CHANNELS_RDPDR_FS_MESSAGES_H
     22
     23/**
     24 * Handlers for core drive I/O requests. Requests handled here may be simple
     25 * messages handled directly, or more complex multi-type messages handled
     26 * elsewhere.
     27 *
     28 * @file rdpdr-fs-messages.h
     29 */
     30
     31#include "channels/rdpdr/rdpdr.h"
     32
     33#include <winpr/stream.h>
     34
     35/**
     36 * Handles a Server Create Drive Request. Despite its name, this request opens
     37 * a file.
     38 */
     39guac_rdpdr_device_iorequest_handler guac_rdpdr_fs_process_create;
     40
     41/**
     42 * Handles a Server Close Drive Request. This request closes an open file.
     43 */
     44guac_rdpdr_device_iorequest_handler guac_rdpdr_fs_process_close;
     45
     46/**
     47 * Handles a Server Drive Read Request. This request reads from a file.
     48 */
     49guac_rdpdr_device_iorequest_handler guac_rdpdr_fs_process_read;
     50
     51/**
     52 * Handles a Server Drive Write Request. This request writes to a file.
     53 */
     54guac_rdpdr_device_iorequest_handler guac_rdpdr_fs_process_write;
     55
     56/**
     57 * Handles a Server Drive Control Request. This request handles one of any
     58 * number of Windows FSCTL_* control functions.
     59 */
     60guac_rdpdr_device_iorequest_handler guac_rdpdr_fs_process_device_control;
     61
     62/**
     63 * Handles a Server Drive Query Volume Information Request. This request
     64 * queries information about the redirected volume (drive). This request
     65 * has several query types which have their own handlers defined in a
     66 * separate file.
     67 */
     68guac_rdpdr_device_iorequest_handler guac_rdpdr_fs_process_volume_info;
     69
     70/**
     71 * Handles a Server Drive Set Volume Information Request. Currently, this
     72 * RDPDR implementation does not support setting of volume information.
     73 */
     74guac_rdpdr_device_iorequest_handler guac_rdpdr_fs_process_set_volume_info;
     75
     76/**
     77 * Handles a Server Drive Query Information Request. This request queries
     78 * information about a specific file. This request has several query types
     79 * which have their own handlers defined in a separate file.
     80 */
     81guac_rdpdr_device_iorequest_handler guac_rdpdr_fs_process_file_info;
     82
     83/**
     84 * Handles a Server Drive Set Information Request. This request sets
     85 * information about a specific file. Currently, this RDPDR implementation does
     86 * not support setting of file information.
     87 */
     88guac_rdpdr_device_iorequest_handler guac_rdpdr_fs_process_set_file_info;
     89
     90/**
     91 * Handles a Server Drive Query Directory Request. This request queries
     92 * information about a specific directory. This request has several query types
     93 * which have their own handlers defined in a separate file.
     94 */
     95guac_rdpdr_device_iorequest_handler guac_rdpdr_fs_process_query_directory;
     96
     97/**
     98 * Handles a Server Drive NotifyChange Directory Request. This request requests
     99 * directory change notification.
    100 */
    101guac_rdpdr_device_iorequest_handler guac_rdpdr_fs_process_notify_change_directory;
    102
    103/**
    104 * Handles a Server Drive Lock Control Request. This request locks or unlocks
    105 * portions of a file.
    106 */
    107guac_rdpdr_device_iorequest_handler guac_rdpdr_fs_process_lock_control;
    108
    109#endif
    110