---
name: "cosFileTransferApp"
section: "3erl"
platform: "linux"
package: "erlang-manpages"
version: "1:19.2.1+dfsg-2+deb9u3"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/cosFileTransferApp"
---

# cosFileTransferApp(3erl)

The main module of the cosFileTransfer application.

## NAME

cosFileTransferApp - The main module of the cosFileTransfer application.

## DESCRIPTION

To get access to the record definitions for the structures use: \
 *-include\_lib("cosFileTransfer/include/\*.hrl").*

This module contains the functions for starting and stopping the application.

## EXPORTS

**install() -\> Return**\

Types:

Return = ok \| {'EXIT', Reason}\

This operation installs the cosFileTransfer application. Note, the *cosProperty* application must be installed prior to invoking this operation.

**uninstall() -\> Return**\

Types:

Return = ok \| {'EXIT', Reason}\

This operation uninstalls the cosFileTransfer application.

**start() -\> Return**\

Types:

Return = ok \| {error, Reason}\

This operation starts the cosFileTransfer application.

**stop() -\> Return**\

Types:

Return = ok \| {error, Reason}\

This operation stops the cosFileTransfer application.

**create\_VFS(Type, Content, Host, Port \[,Options\]) -\> Return**\

Types:

Type = 'FTP' \| {'NATIVE', 'cosFileTransferNATIVE\_file'} \| {'NATIVE', MyModule}\
 Content = \[\]\
 Host = string(), e.g. "myHost@myServer" or "012.345.678.910"\
 Port = integer()\
 Options = \[Option\]\
 Option = {protocol, Protocol} \| {connect\_timeout, Seconds}\
 Protocol = tcp \| ssl\
 Return = VFS \| {'EXCEPTION, E}\
 VFS = #objref\

This operation creates a new instance of a Virtual File System. The *Type* parameter determines which type we want the VFS to represent. 'FTP' maps to the *INETS* ftp implementation, while {'NATIVE', 'cosFileTransferNATIVE\_file'} uses the *file* module. It is also possible to implement own mappings which are activated by supplying {'NATIVE', MyModule}. The MyModule module must export the same functions and behave in the same way as the INETS ftp module, and an operation named *open(Host, Port)*, which shall return *{ok, Pid}* or *{error, Reason}*.

If no *Options* are supplied the default setting will be used, i.e., tcp and 60 seconds.

The *Content* parameter is currently ignored by must be supplied as an empty list.

**ssl\_server\_certfile() -\> string()**\

This function returns a path to a file containing a chain of PEM encoded certificates for the cosFileTransfer as target. This is configured by setting the application variable *ssl\_server\_certfile*.

**ssl\_client\_certfile() -\> string()**\

This function returns a path to a file containing a chain of PEM encoded certificates used in outgoing calls. The default value is configured by setting the application variable *ssl\_client\_certfile*.

**ssl\_server\_verify() -\> 0 \| 1 \| 2**\

This function returns the type of verification used by SSL during authentication of the other peer for incoming calls. It is configured by setting the application variable *ssl\_server\_verify*.

**ssl\_client\_verify() -\> 0 \| 1 \| 2**\

This function returns the type of verification used by SSL during authentication of the other peer for outgoing calls. The default value is configured by setting the application variable *ssl\_client\_verify*.

**ssl\_server\_depth() -\> int()**\

This function returns the SSL verification depth for incoming calls. It is configured by setting the application variable *ssl\_server\_depth*.

**ssl\_client\_depth() -\> int()**\

This function returns the SSL verification depth for outgoing calls. The default value is configured by setting the application variable *ssl\_client\_depth*.
