---
name: "globus_ftp_client_restart_marker_destroy"
section: "3"
platform: "linux"
package: "libglobus-ftp-client-doc"
version: "9.8-4"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/globus_ftp_client_restart_marker"
---

# globus\_ftp\_client\_restart\_marker\_destroy(3)

Restart Markers - Restart Markers.

Part of [globus\_ftp\_client\_restart\_marker(3)](/globus_ftp_client_restart_marker/3.md).

## NAME

globus\_ftp\_client\_restart\_marker - Restart Markers

 \- Restart Markers.

## SYNOPSIS

### Data Structures

union **globus\_ftp\_client\_restart\_marker\_t**\
 Restart marker.

### Functions

globus\_result\_t **globus\_ftp\_client\_restart\_marker\_init** (**globus\_ftp\_client\_restart\_marker\_t** \*marker)\
 globus\_result\_t **globus\_ftp\_client\_restart\_marker\_copy** (**globus\_ftp\_client\_restart\_marker\_t** \*new\_marker, **globus\_ftp\_client\_restart\_marker\_t** \*marker)\
 globus\_result\_t **globus\_ftp\_client\_restart\_marker\_destroy** (**globus\_ftp\_client\_restart\_marker\_t** \*marker)\
 globus\_result\_t **globus\_ftp\_client\_restart\_marker\_insert\_range** (**globus\_ftp\_client\_restart\_marker\_t** \*marker, globus\_off\_t offset, globus\_off\_t end\_offset)\
 globus\_result\_t **globus\_ftp\_client\_restart\_marker\_set\_ascii\_offset** (**globus\_ftp\_client\_restart\_marker\_t** \*marker, globus\_off\_t offset, globus\_off\_t ascii\_offset)\
 globus\_result\_t **globus\_ftp\_client\_restart\_marker\_set\_offset** (**globus\_ftp\_client\_restart\_marker\_t** \*marker, globus\_off\_t offset)\
 globus\_result\_t **globus\_ftp\_client\_restart\_marker\_get\_total** (**globus\_ftp\_client\_restart\_marker\_t** \*marker, globus\_off\_t \*total\_bytes)\
 globus\_result\_t **globus\_ftp\_client\_restart\_marker\_to\_string** (**globus\_ftp\_client\_restart\_marker\_t** \*marker, char \*\*marker\_string)\
 globus\_result\_t **globus\_ftp\_client\_restart\_marker\_from\_string** (**globus\_ftp\_client\_restart\_marker\_t** \*marker, const char \*marker\_string)\

## Detailed Description

Restart Markers.

FTP Restart Markers

The Globus FTP Client library provides the ability to start a file transfer from a known location into the file. This is accomplished by passing a restart marker to the **globus\_ftp\_client\_get()**, **globus\_ftp\_client\_put()**, or **globus\_ftp\_client\_third\_party\_transfer()** functions.

## Function Documentation

### globus\_result\_t globus\_ftp\_client\_restart\_marker\_copy (globus\_ftp\_client\_restart\_marker\_t \* new\_marker, globus\_ftp\_client\_restart\_marker\_t \* marker)

Create a copy of a restart marker.

This function copies the contents of marker to new\_marker.

**Parameters**

*new\_marker* A pointer to a new restart marker. \
 *marker* The marker to copy.

**See also**

**globus\_ftp\_client\_restart\_marker\_init()**, **globus\_ftp\_client\_restart\_marker\_destroy()**

### globus\_result\_t globus\_ftp\_client\_restart\_marker\_destroy (globus\_ftp\_client\_restart\_marker\_t \* marker)

Destroy a restart marker.

**Parameters**

*marker* Restart marker. This marker must be initialized by either calling **globus\_ftp\_client\_restart\_marker\_init()** or **globus\_ftp\_client\_restart\_marker\_copy()**

**See also**

**globus\_ftp\_client\_restart\_marker\_t**, **globus\_ftp\_client\_restart\_marker\_init()**, **globus\_ftp\_client\_restart\_marker\_copy()**

### globus\_result\_t globus\_ftp\_client\_restart\_marker\_from\_string (globus\_ftp\_client\_restart\_marker\_t \* marker, const char \* marker\_string)

Initialize a restart marker from a string.

This function initializes a new restart, *marker*, based on the *marker\_string* parameter. The string may be either a single offset for a stream-mode restart marker, or a comma-separated list of start-end ranges.

**Parameters**

*marker* The restart marker to be initialized. \
 *marker\_string* The string containing a textual representation of a restart marker.

**See also**

**Restart Markers**

### globus\_result\_t globus\_ftp\_client\_restart\_marker\_get\_total (globus\_ftp\_client\_restart\_marker\_t \* marker, globus\_off\_t \* total\_bytes)

Get total bytes accounted for in restart marker

This function will return the sum of all bytes accounted for in a restart marker. If this restart marker contains a stream offset then this value is the same as the offset (not the ascii offset) that it was set with. If it is a range list, it a sum of all the bytes in the ranges.

**Parameters**

*marker* A previously initialized or copied restart marker\
 *total\_bytes* pointer to storage for total bytes in marker

**Returns**

- •

  Error on NULL marker or total bytes

### globus\_result\_t globus\_ftp\_client\_restart\_marker\_init (globus\_ftp\_client\_restart\_marker\_t \* marker)

Initialize a restart marker.

**Parameters**

*marker* New restart marker.

**See also**

**globus\_ftp\_client\_restart\_marker\_t**, **globus\_ftp\_client\_restart\_marker\_destroy()**

### globus\_result\_t globus\_ftp\_client\_restart\_marker\_insert\_range (globus\_ftp\_client\_restart\_marker\_t \* marker, globus\_off\_t offset, globus\_off\_t end\_offset)

Insert a range into a restart marker

This function updates a restart marker with a new byte range, suitable for using to restart an extended block mode transfer. Adjacent ranges within the marker will be combined into a single entry in the marker.

The marker must first be initialized by calling **globus\_ftp\_client\_restart\_marker\_init()** or **globus\_ftp\_client\_restart\_marker\_copy()**.

A marker can only hold a range list or a stream offset. Calling this function after calling **globus\_ftp\_client\_restart\_marker\_set\_offset()** will result in a marker suitable only for use restarting an extended block mode transfer.

**Parameters**

*marker* A restart marker \
 *offset* The starting offset of the range. \
 *end\_offset* The ending offset of the range.

**See also**

**globus\_ftp\_client\_restart\_marker\_set\_offset()** **globus\_ftp\_client\_operationattr\_set\_mode()**

### globus\_result\_t globus\_ftp\_client\_restart\_marker\_set\_ascii\_offset (globus\_ftp\_client\_restart\_marker\_t \* marker, globus\_off\_t offset, globus\_off\_t ascii\_offset)

Set the offset for a restart marker.

This function modifies a restart marker to contain a stream offset, suitable for using to restart a steam mode transfer.

The marker must first be initialized by calling **globus\_ftp\_client\_restart\_marker\_init()** or **globus\_ftp\_client\_restart\_marker\_copy()**.

A marker can only hold a range list or a stream offset. Calling this function after calling **globus\_ftp\_client\_restart\_marker\_insert\_range()** will delete the ranges associated with the marker, and replace it with a marker suitable only for use restarting a stream mode transfer.

When restarting an ASCII type transfer, use **globus\_ftp\_client\_restart\_marker\_set\_ascii\_offset()** to set both the offset used in the local representation of an ACSII file, and the network representation of the ASCII file. For UNIX systems, the former includes counts newlines as one character towards the file offset, and the latter counts them as 2 characters (CRLF).

**Parameters**

*marker* A restart marker \
 *offset* The local stream offset. \
 *ascii\_offset* The network ascii representation of the offset.

**See also**

**globus\_ftp\_client\_restart\_marker\_insert\_range()**, **globus\_ftp\_client\_restart\_marker\_set\_offset()**, **globus\_ftp\_client\_operationattr\_set\_mode()**, **globus\_ftp\_client\_operationattr\_set\_type()**

### globus\_result\_t globus\_ftp\_client\_restart\_marker\_set\_offset (globus\_ftp\_client\_restart\_marker\_t \* marker, globus\_off\_t offset)

Set the offset for a restart marker.

This function modifies a restart marker to contain a stream offset, suitable for using to restart a steam mode transfer.

The marker must first be initialized by calling **globus\_ftp\_client\_restart\_marker\_init()** or **globus\_ftp\_client\_restart\_marker\_copy()**.

A marker can only hold a range list or a stream offset. Calling this function after calling **globus\_ftp\_client\_restart\_marker\_insert\_range()** will delete the ranges associated with the marker, and replace it with a marker suitable only for use restarting a stream mode transfer.

When restarting an ASCII type transfer, the offset must take into account the additional carriage return characters added to the data stream.

**Parameters**

*marker* A restart marker \
 *offset* The stream offset

**See also**

**globus\_ftp\_client\_restart\_marker\_insert\_range()**, **globus\_ftp\_client\_operationattr\_set\_mode()**, **globus\_ftp\_client\_operationattr\_set\_type()**

### globus\_result\_t globus\_ftp\_client\_restart\_marker\_to\_string (globus\_ftp\_client\_restart\_marker\_t \* marker, char \*\* marker\_string)

Create a string representation of a restart marker.

This function sets the *marker\_string* parameter to point to a freshly allocated string suitable for sending as an argument to the FTP REST command, or for a later call to **globus\_ftp\_client\_restart\_marker\_from\_string()**.

The string pointed to by marker\_string must be freed by the caller.

**Parameters**

*marker* An initialized FTP client restart marker. \
 *marker\_string* A pointer to a char \* to be set to a freshly allocated marker string.

**See also**

**Restart Markers**

## Author

Generated automatically by Doxygen for globus\_ftp\_client from the source code.
