---
name: "globus_gass_copy_set_stat_on_expand"
section: "3"
platform: "linux"
package: "libglobus-gass-copy-doc"
version: "9.12-3"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/globus_gass_copy.h"
---

# globus\_gass\_copy\_set\_stat\_on\_expand(3)

GASS Copy Library.

Part of [globus\_gass\_copy.h(3)](/globus_gass_copy.h/3.md).

## NAME

globus\_gass\_copy.h -  GASS Copy Library.

## SYNOPSIS

`#include 'globus_gass_transfer.h'`\
 `#include 'globus_ftp_client.h'`\
 `#include 'globus_io.h'`\

### Data Structures

struct **globus\_gass\_copy\_handle\_s**\
 *Copy Handle.*  struct **globus\_gass\_copy\_attr\_s**\
 *Attributes.*  struct **globus\_gass\_copy\_handleattr\_s**\
 *Handle Attributes.*  struct **globus\_gass\_copy\_glob\_stat\_t**\
 *Glob expanded entry information.*

### Macros

\#define **GLOBUS\_GASS\_COPY\_MODULE**   (&globus\_i\_gass\_copy\_module)\
 *Module Descriptor.*

### Typedefs

typedef void(\* **globus\_gass\_copy\_performance\_cb\_t** )(void \*user\_arg, **globus\_gass\_copy\_handle\_t** \*handle, globus\_off\_t total\_bytes, float instantaneous\_throughput, float avg\_throughput)\
 *Performance Callback.*  typedef void(\* **globus\_gass\_copy\_callback\_t** )(void \*callback\_arg, **globus\_gass\_copy\_handle\_t** \*handle, globus\_object\_t \*error)\
 *Copy Callback.*  typedef struct \
 **globus\_gass\_copy\_attr\_s** **globus\_gass\_copy\_attr\_t**"\
 *Attributes.*  typedef struct \
 **globus\_gass\_copy\_handleattr\_s** **globus\_gass\_copy\_handleattr\_t**"\
 *Handle Attributes.*  typedef void(\* **globus\_gass\_copy\_glob\_entry\_cb\_t** )(const char \*url, const **globus\_gass\_copy\_glob\_stat\_t** \*info\_stat, void \*user\_arg)\
 *Gass copy glob entry callback.*

### Enumerations

enum **globus\_gass\_copy\_status\_t** \
 *Status States.*  enum **globus\_gass\_copy\_url\_mode\_t** \
 *URL Modes.*  enum **globus\_gass\_copy\_glob\_entry\_t** \

### Functions

globus\_result\_t **globus\_gass\_copy\_handle\_init** (**globus\_gass\_copy\_handle\_t** \*handle, **globus\_gass\_copy\_handleattr\_t** \*handle\_attr)\
 *Initialize a GASS Copy handle.*  globus\_result\_t **globus\_gass\_copy\_handle\_destroy** (**globus\_gass\_copy\_handle\_t** \*handle)\
 *Destroy a GASS Copy handle.*  globus\_result\_t **globus\_gass\_copy\_set\_buffer\_length** (**globus\_gass\_copy\_handle\_t** \*handle, int length)\
 *Set the size of the buffer to be used for doing transfers.*  globus\_result\_t **globus\_gass\_copy\_get\_buffer\_length** (**globus\_gass\_copy\_handle\_t** \*handle, int \*length)\
 *Get the size of the transfer buffer.*  globus\_result\_t **globus\_gass\_copy\_set\_no\_third\_party\_transfers** (**globus\_gass\_copy\_handle\_t** \*handle, globus\_bool\_t no\_third\_party\_transfers)\
 *Enable/Disable third-party transfers.*  globus\_result\_t **globus\_gass\_copy\_get\_no\_third\_party\_transfers** (**globus\_gass\_copy\_handle\_t** \*handle, globus\_bool\_t \*no\_third\_party\_transfers)\
 *Query third-party transfer status.*  globus\_result\_t **globus\_gass\_copy\_get\_partial\_offsets** (**globus\_gass\_copy\_handle\_t** \*handle, globus\_off\_t \*offset, globus\_off\_t \*end\_offset)\
 *Get partial transfer offsets.*  globus\_result\_t **globus\_gass\_copy\_set\_partial\_offsets** (**globus\_gass\_copy\_handle\_t** \*handle, globus\_off\_t offset, globus\_off\_t end\_offset)\
 *Set partial file offsets.*  globus\_result\_t **globus\_gass\_copy\_set\_allocate** (**globus\_gass\_copy\_handle\_t** \*handle, globus\_bool\_t send\_allo)\
 *Set allo on or off.*  globus\_result\_t **globus\_gass\_copy\_set\_stat\_on\_expand** (**globus\_gass\_copy\_handle\_t** \*handle, globus\_bool\_t always\_stat)\
 *Make globus\_gass\_copy\_expand\_url() always send stat info.*  globus\_result\_t **globus\_gass\_copy\_get\_url\_mode** (char \*url, **globus\_gass\_copy\_url\_mode\_t** \*mode)\
 *Get URL scheme.*  globus\_result\_t **globus\_gass\_copy\_attr\_init** (**globus\_gass\_copy\_attr\_t** \*attr)\
 *Initialize an attribute structure.*  globus\_result\_t **globus\_gass\_copy\_attr\_set\_ftp** (**globus\_gass\_copy\_attr\_t** \*attr, globus\_ftp\_client\_operationattr\_t \*ftp\_attr)\
 *Set the attributes for ftp/gsiftp transfers.*  globus\_result\_t **globus\_gass\_copy\_attr\_set\_io** (**globus\_gass\_copy\_attr\_t** \*attr, globus\_io\_attr\_t \*io\_attr)\
 *Set file transfers attributes.*  globus\_result\_t **globus\_gass\_copy\_attr\_set\_gass** (**globus\_gass\_copy\_attr\_t** \*attr, globus\_gass\_transfer\_requestattr\_t \*gass\_attr)\
 *Set the http/https attributes.*  globus\_result\_t **globus\_gass\_copy\_url\_to\_url** (**globus\_gass\_copy\_handle\_t** \*handle, char \*source\_url, **globus\_gass\_copy\_attr\_t** \*source\_attr, char \*dest\_url, **globus\_gass\_copy\_attr\_t** \*dest\_attr)\
 *Blocking Transfer between URLs.*  globus\_result\_t **globus\_gass\_copy\_url\_to\_handle** (**globus\_gass\_copy\_handle\_t** \*handle, char \*source\_url, **globus\_gass\_copy\_attr\_t** \*source\_attr, globus\_io\_handle\_t \*dest\_handle)\
 *Blocking Transfer from an URL to an IO handle.*  globus\_result\_t **globus\_gass\_copy\_handle\_to\_url** (**globus\_gass\_copy\_handle\_t** \*handle, globus\_io\_handle\_t \*source\_handle, char \*dest\_url, **globus\_gass\_copy\_attr\_t** \*dest\_attr)\
 *Blocking transfer from an IO handle to an URL.*  globus\_result\_t **globus\_gass\_copy\_register\_url\_to\_url** (**globus\_gass\_copy\_handle\_t** \*handle, char \*source\_url, **globus\_gass\_copy\_attr\_t** \*dest\_attr, char \*dest\_url, **globus\_gass\_copy\_attr\_t** \*source\_attr, **globus\_gass\_copy\_callback\_t** callback\_func, void \*callback\_arg)\
 globus\_result\_t **globus\_gass\_copy\_register\_url\_to\_handle** (**globus\_gass\_copy\_handle\_t** \*handle, char \*source\_url, **globus\_gass\_copy\_attr\_t** \*source\_attr, globus\_io\_handle\_t \*dest\_handle, **globus\_gass\_copy\_callback\_t** callback\_func, void \*callback\_arg)\
 *Nonblocking transfer from an URL to an IO handle.*  globus\_result\_t **globus\_gass\_copy\_register\_handle\_to\_url** (**globus\_gass\_copy\_handle\_t** \*handle, globus\_io\_handle\_t \*source\_handle, char \*dest\_url, **globus\_gass\_copy\_attr\_t** \*dest\_attr, **globus\_gass\_copy\_callback\_t** callback\_func, void \*callback\_arg)\
 globus\_result\_t **globus\_gass\_copy\_get\_status** (**globus\_gass\_copy\_handle\_t** \*handle, **globus\_gass\_copy\_status\_t** \*status)\
 *Get the status code of a transfer.*  const char \* **globus\_gass\_copy\_get\_status\_string** (**globus\_gass\_copy\_handle\_t** \*handle)\
 *Get the status string of a transfer.*  globus\_result\_t **globus\_gass\_copy\_cancel** (**globus\_gass\_copy\_handle\_t** \*handle, **globus\_gass\_copy\_callback\_t** cancel\_callback, void \*cancel\_callback\_arg)\
 *Cancel a transfer.*  globus\_result\_t **globus\_gass\_copy\_cache\_url\_state** (**globus\_gass\_copy\_handle\_t** \*handle, char \*url)\
 *Cache connections to an FTP or GridFTP server.*  globus\_result\_t **globus\_gass\_copy\_flush\_url\_state** (**globus\_gass\_copy\_handle\_t** \*handle, char \*url)\
 *Remove an FTP or GridFTP cached connection.*  globus\_result\_t **globus\_gass\_copy\_set\_user\_pointer** (**globus\_gass\_copy\_handle\_t** \*handle, void \*user\_data)\
 *Set the user pointer in a handle.*  globus\_result\_t **globus\_gass\_copy\_get\_user\_pointer** (**globus\_gass\_copy\_handle\_t** \*handle, void \*\*user\_data)\
 *Get the user pointer in a handle.*  globus\_result\_t **globus\_gass\_copy\_register\_performance\_cb** (**globus\_gass\_copy\_handle\_t** \*handle, **globus\_gass\_copy\_performance\_cb\_t** callback, void \*user\_arg)\
 *Register a performance information callback.*  globus\_result\_t **globus\_gass\_copy\_glob\_expand\_url** (**globus\_gass\_copy\_handle\_t** \*handle, const char \*url, **globus\_gass\_copy\_attr\_t** \*attr, **globus\_gass\_copy\_glob\_entry\_cb\_t** entry\_cb, void \*user\_arg)\
 *Expand globbed url.*  globus\_result\_t **globus\_gass\_copy\_mkdir** (**globus\_gass\_copy\_handle\_t** \*handle, char \*url, **globus\_gass\_copy\_attr\_t** \*attr)\
 *Make directory.*

## Detailed Description

GASS Copy Library.

## Function Documentation

### globus\_result\_t globus\_gass\_copy\_cache\_url\_state (globus\_gass\_copy\_handle\_t \*handle, char \*url)

Cache connections to an FTP or GridFTP server. Explicitly cache connections to URL server. When an URL is cached, the connection to the URL server will not be closed after a file transfer completes.

**Parameters:**

*handle* Handle which will contain a cached connection to the URL server. \
 *url* The URL of the FTP or GSIFTP server to cache.

**Returns:**

This function returns GLOBUS\_SUCCESS if successful, or a globus\_result\_t indicating the error that occurred.

### globus\_result\_t globus\_gass\_copy\_flush\_url\_state (globus\_gass\_copy\_handle\_t \*handle, char \*url)

Remove an FTP or GridFTP cached connection. Explicitly remove a cached connection to an FTP or GSIFTP server. If an idle connection to an FTP server exists, it will be closed.

**Parameters:**

*handle* Handle which contains a cached connection to the URL server. \
 *url* The URL of the FTP or GSIFTP server to remove.

**Returns:**

This function returns GLOBUS\_SUCCESS if successful, or a globus\_result\_t indicating the error that occurred.

### globus\_result\_t globus\_gass\_copy\_handle\_to\_url (globus\_gass\_copy\_handle\_t \*handle, globus\_io\_handle\_t \*source\_handle, char \*dest\_url, globus\_gass\_copy\_attr\_t \*dest\_attr)

Blocking transfer from an IO handle to an URL.

**Parameters:**

*handle* The handle to perform the copy operation \
 *source\_handle* transfer data from this IO handle \
 *dest\_url* transfer data to this URL \
 *dest\_attr* Attributes describing how the transfer to the destination should be done

**Returns:**

This function returns GLOBUS\_SUCCESS if the transfer was completed successfully, or a result pointing to an object of one of the the following error types:

**Return values:**

*GLOBUS\_GASS\_COPY\_ERROR\_TYPE\_NULL\_PARAMETER* The handle was equal to GLOBUS\_NULL, so the transfer could not processed. \
 *GLOBUS\_GASS\_COPY\_ERROR\_TYPE\_next\_error* next error description

**See also:**

**globus\_gass\_copy\_url\_to\_url()** **globus\_gass\_copy\_url\_to\_handle()**

### globus\_result\_t globus\_gass\_copy\_register\_handle\_to\_url (globus\_gass\_copy\_handle\_t \*handle, globus\_io\_handle\_t \*source\_handle, char \*dest\_url, globus\_gass\_copy\_attr\_t \*dest\_attr, globus\_gass\_copy\_callback\_tcallback\_func, void \*callback\_arg)

Nonblocking Transfer From an IO handle to an URL

This functions initiates a transfer from an IO handle to destination URL, then returns immediately.

When the transfer is completed or if the transfer is aborted, the callback\_func will be invoked with the final status of the transfer.

**Parameters:**

*handle* The handle to perform the copy operation \
 *source\_handle* transfer data from this IO handle \
 *dest\_url* transfer data to this URL \
 *dest\_attr* Attributes describing how the transfer to the destination should be done \
 *callback\_func* Callback to be invoked once the transfer is completed. \
 *callback\_arg* Argument to be passed to the callback\_func.

**Returns:**

This function returns GLOBUS\_SUCCESS if the transfer was initiated successfully, or a result pointing to an object of one of the the following error types:

**Return values:**

*GLOBUS\_GASS\_COPY\_ERROR\_TYPE\_NULL\_PARAMETER* The handle was equal to GLOBUS\_NULL, so the transfer could not processed. \
 *GLOBUS\_GASS\_COPY\_ERROR\_TYPE\_next\_error* next error description

**See also:**

**globus\_gass\_copy\_register\_url\_to\_url()**, **globus\_gass\_copy\_register\_url\_to\_handle()**

### globus\_result\_t globus\_gass\_copy\_register\_url\_to\_handle (globus\_gass\_copy\_handle\_t \*handle, char \*source\_url, globus\_gass\_copy\_attr\_t \*source\_attr, globus\_io\_handle\_t \*dest\_handle, globus\_gass\_copy\_callback\_tcallback\_func, void \*callback\_arg)

Nonblocking transfer from an URL to an IO handle. This functions initiates a transfer from source URL to an IO handle, then returns immediately.

When the transfer is completed or if the transfer is aborted, the callback\_func will be invoked with the final status of the transfer.

**Parameters:**

*handle* The handle to perform the copy operation \
 *source\_url* transfer data from this URL \
 *source\_attr* Attributes describing how the transfer form the source should be done \
 *dest\_handle* transfer data to this IO handle \
 *callback\_func* Callback to be invoked once the transfer is completed. \
 *callback\_arg* Argument to be passed to the callback\_func.

**Returns:**

This function returns GLOBUS\_SUCCESS if the transfer was initiated successfully, or a result pointing to an object of one of the the following error types:

**Return values:**

*GLOBUS\_GASS\_COPY\_ERROR\_TYPE\_NULL\_PARAMETER* The handle was equal to GLOBUS\_NULL, so the transfer could not processed. \
 *GLOBUS\_GASS\_COPY\_ERROR\_TYPE\_next\_error* next error description

**See also:**

**globus\_gass\_copy\_register\_url\_to\_url()**, **globus\_gass\_copy\_register\_handle\_to\_url()**

### globus\_result\_t globus\_gass\_copy\_register\_url\_to\_url (globus\_gass\_copy\_handle\_t \*handle, char \*source\_url, globus\_gass\_copy\_attr\_t \*source\_attr, char \*dest\_url, globus\_gass\_copy\_attr\_t \*dest\_attr, globus\_gass\_copy\_callback\_tcallback\_func, void \*callback\_arg)

Nonblocking Transfer between URLs

This functions initiates a transfer from source URL to destination URL, then returns immediately.

When the transfer is completed or if the transfer is aborted, the callback\_func will be invoked with the final status of the transfer.

**Parameters:**

*handle* The handle to perform the copy operation \
 *source\_url* transfer data from this URL \
 *source\_attr* Attributes describing how the transfer form the source should be done \
 *dest\_url* transfer data to this URL \
 *dest\_attr* Attributes describing how the transfer to the destination should be done \
 *callback\_func* Callback to be invoked once the transfer is completed. \
 *callback\_arg* Argument to be passed to the callback\_func.

**Returns:**

This function returns GLOBUS\_SUCCESS if the transfer was initiated successfully, or a result pointing to an object of one of the the following error types:

**Return values:**

*GLOBUS\_GASS\_COPY\_ERROR\_TYPE\_NULL\_PARAMETER* The handle was equal to GLOBUS\_NULL, so the transfer could not processed. \
 *GLOBUS\_GASS\_COPY\_ERROR\_TYPE\_next\_error* next error description

**See also:**

**globus\_gass\_copy\_register\_url\_to\_handle()**, **globus\_gass\_copy\_register\_handle\_to\_url()**

### globus\_result\_t globus\_gass\_copy\_url\_to\_handle (globus\_gass\_copy\_handle\_t \*handle, char \*source\_url, globus\_gass\_copy\_attr\_t \*source\_attr, globus\_io\_handle\_t \*dest\_handle)

Blocking Transfer from an URL to an IO handle.

**Parameters:**

*handle* The handle to perform the copy operation \
 *source\_url* transfer data from this URL \
 *source\_attr* Attributes describing how the transfer form the source should be done \
 *dest\_handle* transfer data to this IO handle

**Returns:**

This function returns GLOBUS\_SUCCESS if the transfer was completed successfully, or a result pointing to an object of one of the the following error types:

**Return values:**

*GLOBUS\_GASS\_COPY\_ERROR\_TYPE\_NULL\_PARAMETER* The handle was equal to GLOBUS\_NULL, so the transfer could not processed. \
 *GLOBUS\_GASS\_COPY\_ERROR\_TYPE\_next\_error* next error description

**See also:**

**globus\_gass\_copy\_url\_to\_url()** **globus\_gass\_copy\_handle\_to\_url()**

### globus\_result\_t globus\_gass\_copy\_url\_to\_url (globus\_gass\_copy\_handle\_t \*handle, char \*source\_url, globus\_gass\_copy\_attr\_t \*source\_attr, char \*dest\_url, globus\_gass\_copy\_attr\_t \*dest\_attr)

Blocking Transfer between URLs.

**Parameters:**

*handle* The handle to perform the copy operation \
 *source\_url* transfer data from this URL \
 *source\_attr* Attributes describing how the transfer form the source should be done \
 *dest\_url* transfer data to this URL \
 *dest\_attr* Attributes describing how the transfer to the destination should be done

**Returns:**

This function returns GLOBUS\_SUCCESS if the transfer was completed successfully, or a result pointing to an object of one of the the following error types:

**Return values:**

*GLOBUS\_GASS\_COPY\_ERROR\_TYPE\_NULL\_PARAMETER* The handle was equal to GLOBUS\_NULL, so the transfer could not processed. \
 *GLOBUS\_GASS\_COPY\_ERROR\_TYPE\_next\_error* next error description

**See also:**

**globus\_gass\_copy\_url\_to\_handle()** **globus\_gass\_copy\_handle\_to\_url()**

## Author

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