---
name: "globus_gass_transfer_proto_descriptor_t"
section: "3"
platform: "linux"
package: "libglobus-gass-transfer-doc"
version: "9.4-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/globus_gass_transfer_proto_descriptor_t"
---

# globus\_gass\_transfer\_proto\_descriptor\_t(3)

Protocol module descriptor structure.

## NAME

globus\_gass\_transfer\_proto\_descriptor\_t - Protocol module descriptor structure.

## SYNOPSIS

`#include <globus_gass_transfer_proto.h>`

### Data Fields

char \* **url\_scheme**\
 **globus\_gass\_transfer\_proto\_new\_attr\_t** **new\_requestattr**\
 **globus\_gass\_transfer\_proto\_new\_request\_t** **new\_request**\
 **globus\_gass\_transfer\_proto\_new\_attr\_t** **new\_listenerattr**\
 **globus\_gass\_transfer\_proto\_create\_listener\_t** **new\_listener**\

## Detailed Description

Protocol module descriptor structure.

**See also**

**globus\_gass\_transfer\_proto\_register\_protocol()**, **globus\_gass\_transfer\_proto\_unregister\_protocol()**

## Field Documentation

### globus\_gass\_transfer\_proto\_create\_listener\_t globus\_gass\_transfer\_proto\_descriptor\_t::new\_listener

New listener.

The function pointed to by this pointer is used by GASS to create a new listener handle. The listener handle has been initialized with the parameters passed to one of the functions in the **Client-Initiated Operations** section of the GASS Transfer API.

The protocol module should begin processing this request by sending appropriate messages to the file server. Once the request is authorized, denied, or referred, the protocol module calls **globus\_gass\_transfer\_proto\_request\_ready()**, **globus\_gass\_transfer\_proto\_request\_denied()**, or **globus\_gass\_transfer\_proto\_request\_referred()**.

**See also**

**globus\_gass\_transfer\_proto\_new\_request\_t**

### globus\_gass\_transfer\_proto\_new\_attr\_t globus\_gass\_transfer\_proto\_descriptor\_t::new\_listenerattr

New listener attributes.

The function pointed to by this pointer is used by GASS to forward requests to create a listener attribute for this protocol's *url\_scheme* to the protocol module. The function returns a listener attribute which inherits from one of the GASS Transfer request attributes.

**See also**

**globus\_gass\_transfer\_proto\_new\_attr\_t**

### globus\_gass\_transfer\_proto\_new\_request\_t globus\_gass\_transfer\_proto\_descriptor\_t::new\_request

New request.

The function pointed to by this pointer is used by GASS to initiate a new file transfer request by a protocol module. The request handle has been initialized with the parameters passed to one of the functions in the **Client-Initiated Operations** section of the GASS Transfer API.

The protocol module should begin processing this request by sending appropriate messages to the file server. Once the request is authorized, denied, or referred, the protocol module calls **globus\_gass\_transfer\_proto\_request\_ready()**, **globus\_gass\_transfer\_proto\_request\_denied()**, or **globus\_gass\_transfer\_proto\_request\_referred()**.

**See also**

**globus\_gass\_transfer\_proto\_new\_request\_t**

### globus\_gass\_transfer\_proto\_new\_attr\_t globus\_gass\_transfer\_proto\_descriptor\_t::new\_requestattr

New request attributes.

The function pointed to by this pointer is used by GASS to forward requests to create a request attribute for this protocol's *url\_scheme* to the protocol module. The function returns a request attribute which inherits from one of the GASS Transfer request attributes.

**See also**

**globus\_gass\_transfer\_proto\_new\_attr\_t**

### char\* globus\_gass\_transfer\_proto\_descriptor\_t::url\_scheme

URL Scheme.

The URL scheme which this protocol module supports. The scheme is the first part of a URL, which names the protocol which is used to access the resource named by the URL, for example 'http' or 'ftp'.

The GASS Transfer library allows only one protocol module to be registered to handle a particular *url\_scheme*. However, a protocol module may implement only the client or only the server part of the protocol. If a protocol has several variations with different scheme names (for example http and https), each scheme must be registered with GASS in order to be used.

## Author

Generated automatically by Doxygen for globus\_gass\_transfer from the source code.
