---
name: "lfc_starttrans"
section: "3"
platform: "linux"
package: "liblfc-dev"
version: "1.10.0-2+b3"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/lfc_starttrans"
---

# lfc\_starttrans(3)

start transaction mode

## NAME

lfc\_starttrans - start transaction mode

## SYNOPSIS

**#include \<sys/types.h\>**\
 **#include "lfc\_api.h"**

**int lfc\_starttrans (char \****server***,** **char \****comment***);**

## DESCRIPTION

**lfc\_starttrans** starts transaction mode. The connection to the Name Server is kept open until one of the DB update operation fails or **lfc\_aborttrans** or **lfc\_endtrans** is explicitly called. If all the DB update operations between **lfc\_starttrans** and **lfc\_endtrans** are successful, a COMMIT is done. If any DB update operation fails or if an explicit **lfc\_aborttrans** is done, a ROLLBACK is done. The *comment* is logged in the server log.

## RETURN VALUE

This routine returns 0 if the operation was successful or -1 if the operation failed. In the latter case, **serrno** is set appropriately.

## ERRORS

- **EINVAL**

  The length of *comment* exceeds **CA\_MAXCOMMENTLEN**.

- **SENOSHOST**

  Host unknown.

- **SENOSSERV**

  Service unknown.

- **SECOMERR**

  Communication error.

- **ENSNACT**

  Name server is not running or is being shutdown.

## SEE ALSO

**[lfc\_aborttrans(3)](/lfc_aborttrans/3.md)**, **[lfc\_endtrans(3)](/lfc_endtrans/3.md)**
