---
name: "globus_net_manager_pre_close"
section: "3"
platform: "linux"
package: "libglobus-net-manager-doc"
version: "1.7-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/globus_net_manager_signatures"
---

# globus\_net\_manager\_pre\_close(3)

Function Signatures - Net Manager Function Signatures.

Part of [globus\_net\_manager\_signatures(3)](/globus_net_manager_signatures/3.md).

## NAME

globus\_net\_manager\_signatures - Function Signatures

 \- Net Manager Function Signatures.

## SYNOPSIS

### Typedefs

typedef globus\_result\_t(\* **globus\_net\_manager\_pre\_listen**) (struct **globus\_net\_manager\_s** \*manager, const **globus\_net\_manager\_attr\_t** \*manager\_attr\_array, const char \*task\_id, const char \*transport, const **globus\_net\_manager\_attr\_t** \*attr\_array, **globus\_net\_manager\_attr\_t** \*\*attr\_array\_out)\
 Net Manager Pre-Listen Function Signature.  typedef globus\_result\_t(\* **globus\_net\_manager\_post\_listen**) (struct **globus\_net\_manager\_s** \*manager, const **globus\_net\_manager\_attr\_t** \*manager\_attr\_array, const char \*task\_id, const char \*transport, const char \*local\_contact, const **globus\_net\_manager\_attr\_t** \*attr\_array, char \*\*local\_contact\_out, **globus\_net\_manager\_attr\_t** \*\*attr\_array\_out)\
 Net Manager Post-Listen Function Signature.  typedef globus\_result\_t(\* **globus\_net\_manager\_end\_listen**) (struct **globus\_net\_manager\_s** \*manager, const **globus\_net\_manager\_attr\_t** \*manager\_attr\_array, const char \*task\_id, const char \*transport, const char \*local\_contact, const **globus\_net\_manager\_attr\_t** \*attr\_array)\
 Net Manager End-Listen Function Signature.  typedef globus\_result\_t(\* **globus\_net\_manager\_pre\_accept**) (struct **globus\_net\_manager\_s** \*manager, const **globus\_net\_manager\_attr\_t** \*manager\_attr\_array, const char \*task\_id, const char \*transport, const char \*local\_contact, const **globus\_net\_manager\_attr\_t** \*attr\_array, **globus\_net\_manager\_attr\_t** \*\*attr\_array\_out)\
 Net Manager Pre-Accept Function Signature.  typedef globus\_result\_t(\* **globus\_net\_manager\_post\_accept**) (struct **globus\_net\_manager\_s** \*manager, const **globus\_net\_manager\_attr\_t** \*manager\_attr\_array, const char \*task\_id, const char \*transport, const char \*local\_contact, const char \*remote\_contact, const **globus\_net\_manager\_attr\_t** \*attr\_array, **globus\_net\_manager\_attr\_t** \*\*attr\_array\_out)\
 Net Manager Post-Accept Function Signature.  typedef globus\_result\_t(\* **globus\_net\_manager\_pre\_connect**) (struct **globus\_net\_manager\_s** \*manager, const **globus\_net\_manager\_attr\_t** \*manager\_attr\_array, const char \*task\_id, const char \*transport, const char \*remote\_contact, const **globus\_net\_manager\_attr\_t** \*attr\_array, char \*\*remote\_contact\_out, **globus\_net\_manager\_attr\_t** \*\*attr\_array\_out)\
 Net Manager Pre-Connect Function Signature.  typedef globus\_result\_t(\* **globus\_net\_manager\_post\_connect**) (struct **globus\_net\_manager\_s** \*manager, const **globus\_net\_manager\_attr\_t** \*manager\_attr\_array, const char \*task\_id, const char \*transport, const char \*local\_contact, const char \*remote\_contact, const **globus\_net\_manager\_attr\_t** \*attr\_array, **globus\_net\_manager\_attr\_t** \*\*attr\_array\_out)\
 Net Manager Post-Connect Function Signature.  typedef globus\_result\_t(\* **globus\_net\_manager\_pre\_close**) (struct **globus\_net\_manager\_s** \*manager, const **globus\_net\_manager\_attr\_t** \*manager\_attr\_array, const char \*task\_id, const char \*transport, const char \*local\_contact, const char \*remote\_contact, const **globus\_net\_manager\_attr\_t** \*attr\_array)\
 Net Manager Pre-Close Function Signature.  typedef globus\_result\_t(\* **globus\_net\_manager\_post\_close**) (struct **globus\_net\_manager\_s** \*manager, const **globus\_net\_manager\_attr\_t** \*manager\_attr\_array, const char \*task\_id, const char \*transport, const char \*local\_contact, const char \*remote\_contact, const **globus\_net\_manager\_attr\_t** \*attr\_array)\
 Net Manager Post-Close Function Signature.

## Detailed Description

Net Manager Function Signatures.

Function signatures for the Net Manager interface. **globus\_net\_manager\_tutorial**

## Typedef Documentation

### typedef globus\_result\_t(\* globus\_net\_manager\_end\_listen) (struct globus\_net\_manager\_s \*manager, const globus\_net\_manager\_attr\_t \*manager\_attr\_array, const char \*task\_id, const char \*transport, const char \*local\_contact, const globus\_net\_manager\_attr\_t \*attr\_array)

Net Manager End-Listen Function Signature. A function of this signature, if included in a network manager implementation, is called when the transport-specific listening port will be closed.

The network manager is passed the network transport-specific options and contact string for the listener.

The globus\_net\_manager library aborts the closing of the listening port if this function returns a value other than GLOBUS\_SUCCESS. In this case, the globus\_net\_manager will not call any other globus\_net\_manager\_end\_listen functions configured for this listener.

**Parameters**

*manager* Pointer to the network manager struct that is being invoked. \
 *manager\_attr\_array* An array of attributes associated with the manager. The end of the array is indicated by an attribute containing a NULL scope. \
 *task\_id* An application-specific task ID associated with this network operation. \
 *transport* The name of the transport associated with this listener. \
 *local\_contact* The transport-specific contact string for the listener \[in\]. \
 *attr\_array* An array of transport attributes associated with the listener. The end of the array is indicated by an attribute containing a NULL scope.

### typedef globus\_result\_t(\* globus\_net\_manager\_post\_accept) (struct globus\_net\_manager\_s \*manager, const globus\_net\_manager\_attr\_t \*manager\_attr\_array, const char \*task\_id, const char \*transport, const char \*local\_contact, const char \*remote\_contact, const globus\_net\_manager\_attr\_t \*attr\_array, globus\_net\_manager\_attr\_t \*\*attr\_array\_out)

Net Manager Post-Accept Function Signature. A function of this signature, if included in a network manager implementation, is called after accepting a connection on a transport-specific listening port.

The network manager is passed the network transport-specific options and contact string for both ends of the connection. It may modify the attributes of the local side of the connection.

The globus\_net\_manager library aborts the accept operation if this function returns a value other than GLOBUS\_SUCCESS. In this case, the globus\_net\_manager will not call any other globus\_net\_manager\_post\_accept functions configured for this connection.

**Parameters**

*manager* Pointer to the network manager struct that is being invoked. \
 *manager\_attr\_array* An array of attributes associated with the manager. The end of the array is indicated by an attribute containing a NULL scope. \
 *task\_id* An application-specific task ID associated with this network operation. \
 *transport* The name of the transport associated with this listener. \
 *local\_contact* The transport-specific contact string for the local side of the connection. \
 *remote\_contact* The transport-specific contact string for the remote side of the connection. \
 *attr\_array* An array of transport attributes associated with the listener. The end of the array is indicated by an attribute containing a NULL scope. \
 *attr\_array\_out* A pointer to an array of transport options to apply to the listener prior to returning it to the service. This may be NULL to indicate no change in the options. If non-NULL, this array must be terminated with an attribute having a NULL scope. The array and the members of the globus\_net\_manager\_attr\_t struct will be freed by the globus\_net\_manager library by calling free().

### typedef globus\_result\_t(\* globus\_net\_manager\_post\_close) (struct globus\_net\_manager\_s \*manager, const globus\_net\_manager\_attr\_t \*manager\_attr\_array, const char \*task\_id, const char \*transport, const char \*local\_contact, const char \*remote\_contact, const globus\_net\_manager\_attr\_t \*attr\_array)

Net Manager Post-Close Function Signature. A function of this signature, if included in a network manager implementation, is called after closing a connection.

The network manager is passed the network transport-specific options and contact string for both ends of the connection.

The globus\_net\_manager library aborts the close operation if this function returns a value other than GLOBUS\_SUCCESS. In this case, the globus\_net\_manager will not call any other globus\_net\_manager\_pre\_close functions configured for this connection.

**Parameters**

*manager* Pointer to the network manager struct that is being invoked. \
 *manager\_attr\_array* An array of attributes associated with the manager. The end of the array is indicated by an attribute containing a NULL scope. \
 *task\_id* An application-specific task ID associated with this network operation. \
 *transport* The name of the transport associated with this listener. \
 *local\_contact* The transport-specific contact string for the local side of the connection. \
 *remote\_contact* The transport-specific contact string for the remote side of the connection. \
 *attr\_array* An array of transport attributes associated with the listener. The end of the array is indicated by an attribute containing a NULL scope.

### typedef globus\_result\_t(\* globus\_net\_manager\_post\_connect) (struct globus\_net\_manager\_s \*manager, const globus\_net\_manager\_attr\_t \*manager\_attr\_array, const char \*task\_id, const char \*transport, const char \*local\_contact, const char \*remote\_contact, const globus\_net\_manager\_attr\_t \*attr\_array, globus\_net\_manager\_attr\_t \*\*attr\_array\_out)

Net Manager Post-Connect Function Signature. A function of this signature, if included in a network manager implementation, is called after establishing a connection to a transport-specific listener.

The network manager is passed the network transport-specific options and contact string for both ends of the connection. It may modify the attributes of the local side of the connection.

The globus\_net\_manager library aborts the connect operation if this function returns a value other than GLOBUS\_SUCCESS. In this case, the globus\_net\_manager will not call any other globus\_net\_manager\_post\_connect functions configured for this connection.

**Parameters**

*manager* Pointer to the network manager struct that is being invoked. \
 *manager\_attr\_array* An array of attributes associated with the manager. The end of the array is indicated by an attribute containing a NULL scope. \
 *task\_id* An application-specific task ID associated with this network operation. \
 *transport* The name of the transport associated with this listener. \
 *remote\_contact* The transport-specific contact string for the remote side of the connection. \
 *attr\_array* An array of transport attributes associated with the listener. The end of the array is indicated by an attribute containing a NULL scope. \
 *attr\_array\_out* A pointer to an array of transport options to apply to the listener prior to returning it to the service. This may be NULL to indicate no change in the options. If non-NULL, this array must be terminated with an attribute having a NULL scope. The array and the members of the globus\_net\_manager\_attr\_t struct will be freed by the globus\_net\_manager library by calling free().

### typedef globus\_result\_t(\* globus\_net\_manager\_post\_listen) (struct globus\_net\_manager\_s \*manager, const globus\_net\_manager\_attr\_t \*manager\_attr\_array, const char \*task\_id, const char \*transport, const char \*local\_contact, const globus\_net\_manager\_attr\_t \*attr\_array, char \*\*local\_contact\_out, globus\_net\_manager\_attr\_t \*\*attr\_array\_out)

Net Manager Post-Listen Function Signature. A function of this signature, if included in a network manager implementation, is called after the transport-specific listening port has been created.

The network manager is passed the network transport-specific options and contact string for the listener. It may modify either of these before the transport listener is made available to the service which requested the listening port.

The globus\_net\_manager library aborts the listen operation if this function returns a value other than GLOBUS\_SUCCESS. In this case, the globus\_net\_manager will not call any other globus\_net\_manager\_post\_listen functions configured for this listener.

**Parameters**

*manager* Pointer to the network manager struct that is being invoked. \
 *manager\_attr\_array* An array of attributes associated with the manager. The end of the array is indicated by an attribute containing a NULL scope. \
 *task\_id* An application-specific task ID associated with this network operation. \
 *transport* The name of the transport associated with this listener. \
 *local\_contact* The transport-specific contact string for the listener \[in\]. \
 *attr\_array* An array of transport attributes associated with the listener. The end of the array is indicated by an attribute containing a NULL scope. \
 *local\_contact\_out* A pointer to the local contact which the network manager wants to return to the service. This may be NULL to indicate no change in the contact. This value will be freed() by the globus\_net\_manager library. \
 *attr\_array\_out* A pointer to an array of transport options to apply to the listener prior to returning it to the service. This may be NULL to indicate no change in the options. If non-NULL, this array must be terminated with an attribute having a NULL scope. The array and the members of the globus\_net\_manager\_attr\_t struct will be freed by the globus\_net\_manager library by calling free().

### typedef globus\_result\_t(\* globus\_net\_manager\_pre\_accept) (struct globus\_net\_manager\_s \*manager, const globus\_net\_manager\_attr\_t \*manager\_attr\_array, const char \*task\_id, const char \*transport, const char \*local\_contact, const globus\_net\_manager\_attr\_t \*attr\_array, globus\_net\_manager\_attr\_t \*\*attr\_array\_out)

Net Manager Pre-Accept Function Signature. A function of this signature, if included in a network manager implementation, is called before accepting a connection on a transport-specific listening port.

The network manager is passed the network transport-specific options and contact string for the listener. It may modify the options before the accept operation is complete.

The globus\_net\_manager library aborts the accept operation if this function returns a value other than GLOBUS\_SUCCESS. In this case, the globus\_net\_manager will not call any other globus\_net\_manager\_pre\_accept functions configured for this listener.

**Parameters**

*manager* Pointer to the network manager struct that is being invoked. \
 *manager\_attr\_array* An array of attributes associated with the manager. The end of the array is indicated by an attribute containing a NULL scope. \
 *task\_id* An application-specific task ID associated with this network operation. \
 *transport* The name of the transport associated with this listener. \
 *local\_contact* The transport-specific contact string for the listener. \
 *attr\_array* A NULL-terminated array of transport attributes associated with the listener. \
 *attr\_array\_out* A pointer to an array of transport options to apply to the listener prior to returning it to the service. This may be NULL to indicate no change in the options. If non-NULL, this array must be terminated with an attribute having a NULL scope. The array and the members of the globus\_net\_manager\_attr\_t struct will be freed by the globus\_net\_manager library by calling free().

### typedef globus\_result\_t(\* globus\_net\_manager\_pre\_close) (struct globus\_net\_manager\_s \*manager, const globus\_net\_manager\_attr\_t \*manager\_attr\_array, const char \*task\_id, const char \*transport, const char \*local\_contact, const char \*remote\_contact, const globus\_net\_manager\_attr\_t \*attr\_array)

Net Manager Pre-Close Function Signature. A function of this signature, if included in a network manager implementation, is called prior to closing a connection.

The network manager is passed the network transport-specific options and contact string for both ends of the connection.

The globus\_net\_manager library aborts the close operation if this function returns a value other than GLOBUS\_SUCCESS. In this case, the globus\_net\_manager will not call any other globus\_net\_manager\_pre\_close functions configured for this connection.

**Parameters**

*manager* Pointer to the network manager struct that is being invoked. \
 *manager\_attr\_array* An array of attributes associated with the manager. The end of the array is indicated by an attribute containing a NULL scope. \
 *task\_id* An application-specific task ID associated with this network operation. \
 *transport* The name of the transport associated with this listener. \
 *local\_contact* The transport-specific contact string for the local side of the connection. \
 *remote\_contact* The transport-specific contact string for the remote side of the connection. \
 *attr\_array* An array of transport attributes associated with the listener. The end of the array is indicated by an attribute containing a NULL scope.

### typedef globus\_result\_t(\* globus\_net\_manager\_pre\_connect) (struct globus\_net\_manager\_s \*manager, const globus\_net\_manager\_attr\_t \*manager\_attr\_array, const char \*task\_id, const char \*transport, const char \*remote\_contact, const globus\_net\_manager\_attr\_t \*attr\_array, char \*\*remote\_contact\_out, globus\_net\_manager\_attr\_t \*\*attr\_array\_out)

Net Manager Pre-Connect Function Signature. A function of this signature, if included in a network manager implementation, is called after initiating a connection to a transport-specific listener.

The network manager is passed the network transport-specific options and contact string for both ends of the connection. It may modify the attributes of the local side of the connection.

The globus\_net\_manager library aborts the connect operation if this function returns a value other than GLOBUS\_SUCCESS. In this case, the globus\_net\_manager will not call any other globus\_net\_manager\_pre\_connect functions configured for this connection.

**Parameters**

*manager* Pointer to the network manager struct that is being invoked. \
 *manager\_attr\_array* An array of attributes associated with the manager. The end of the array is indicated by an attribute containing a NULL scope. \
 *task\_id* An application-specific task ID associated with this network operation. \
 *transport* The name of the transport associated with this listener. \
 *remote\_contact* The transport-specific contact string for the remote side of the connection. \
 *attr\_array* An array of transport attributes associated with the listener. The end of the array is indicated by an attribute containing a NULL scope. \
 *remote\_contact\_out* A pointer to the remote contact which the network manager wants to connect to. This may be NULL to indicate no change in the contact. This value will be freed() by the globus\_net\_manager library. \
 *attr\_array\_out* A pointer to an array of transport options to apply to the listener prior to returning it to the service. This may be NULL to indicate no change in the options. If non-NULL, this array must be terminated with an attribute having a NULL scope. The array and the members of the globus\_net\_manager\_attr\_t struct will be freed by the globus\_net\_manager library by calling free().

### typedef globus\_result\_t(\* globus\_net\_manager\_pre\_listen) (struct globus\_net\_manager\_s \*manager, const globus\_net\_manager\_attr\_t \*manager\_attr\_array, const char \*task\_id, const char \*transport, const globus\_net\_manager\_attr\_t \*attr\_array, globus\_net\_manager\_attr\_t \*\*attr\_array\_out)

Net Manager Pre-Listen Function Signature. A function of this signature, if included in a network manager implementation, is called before the transport-specific listening port has been created.

The network manager is passed the network transport-specific options for the listener. It may modify these before the listener is created by the transport.

The globus\_net\_manager library aborts the listen operation if this function returns a value other than GLOBUS\_SUCCESS. In this case, the globus\_net\_manager will not call any other globus\_net\_manager\_pre\_listen functions configured for this listener.

**Parameters**

*manager* Pointer to the network manager struct that is being invoked. \
 *manager\_attr\_array* An array of attributes associated with the manager. The end of the array is indicated by an attribute containing a NULL scope. \
 *task\_id* An application-specific task ID associated with this network operation. \
 *transport* The name of the transport associated with this listener. \
 *attr\_array* An array of transport attributes associated with the listener. The end of the array is indicated by an attribute containing a NULL scope. \
 *attr\_array\_out* A pointer to an array of transport options to apply to the listener prior to returning it to the service. This may be NULL to indicate no change in the options. If non-NULL, this array must be terminated with an attribute having a NULL scope. The array and the members of the globus\_net\_manager\_attr\_t struct will be freed by the globus\_net\_manager library by calling free().

## Author

Generated automatically by Doxygen for globus\_net\_manager from the source code.
