---
name: "jose_cfg"
section: "3"
platform: "linux"
package: "jose"
version: "15-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/jose_cfg"
---

# jose\_cfg(3)

José Configuration.

## NAME

jose\_cfg - José Configuration.

## SYNOPSIS

### Typedefs

typedef jose\_cfg\_t **jose\_cfg\_auto\_t**\
 Defines a jose\_cfg\_t which calls **jose\_cfg\_decref()** at end of scope.

### Functions

jose\_cfg\_t \* **jose\_cfg** (void)\
 Creates a new configuration instance.  jose\_cfg\_t \* **jose\_cfg\_incref** (jose\_cfg\_t \*cfg)\
 Increases the reference count of a configuration instance.  void **jose\_cfg\_decref** (jose\_cfg\_t \*cfg)\
 Decreases the reference count of a configuration instance.  void **jose\_cfg\_set\_err\_func** (jose\_cfg\_t \*cfg, jose\_cfg\_err\_t \*err, void \*misc)\
 Sets the error handler function for this configuration instance.  void \* **jose\_cfg\_get\_err\_misc** (jose\_cfg\_t \*cfg)\
 Gets the miscellaneous data associated with the current error handler.  void **jose\_cfg\_err** (jose\_cfg\_t \*cfg, uint64\_t err, const char \*fmt,...)\
 Submit an error.

## Detailed Description

José Configuration.

## Typedef Documentation

### typedef jose\_cfg\_t jose\_cfg\_auto\_t

Defines a jose\_cfg\_t which calls **jose\_cfg\_decref()** at end of scope. For example:

```
void foo() {
    jose_cfg_auto_t *cfg = jose_cfg();
    // jose_cfg_decref() implicitly called
}
```

## Function Documentation

### jose\_cfg\_t\* jose\_cfg (void)

Creates a new configuration instance.

**Returns:**

A newly-allocated configuration instance.

### jose\_cfg\_t\* jose\_cfg\_incref (jose\_cfg\_t \* cfg)

Increases the reference count of a configuration instance. This function always succeeds.

**Parameters:**

*cfg* The configuration context.

**Returns:**

The value of `cfg` (for convenience).

### void jose\_cfg\_decref (jose\_cfg\_t \* cfg)

Decreases the reference count of a configuration instance. When the reference count reaches zero, the configuration instance is freed.

**Parameters:**

*cfg* The configuration context.

### void jose\_cfg\_set\_err\_func (jose\_cfg\_t \* cfg, jose\_cfg\_err\_t \* err, void \* misc)

Sets the error handler function for this configuration instance. The value of `misc` will be passed to the error handler function.

You may pass NULL to `err` to return to the default error handler.

**Parameters:**

*cfg* The configuration context.\
 *err* The error handler function you wish to enable.\
 *misc* The miscellaneous data you wish to pass to the error handler.

### void\* jose\_cfg\_get\_err\_misc (jose\_cfg\_t \* cfg)

Gets the miscellaneous data associated with the current error handler.

**Parameters:**

*cfg* The configuration context.

**Returns:**

The miscellaneous data associated with the error handler.

### void jose\_cfg\_err (jose\_cfg\_t \* cfg, uint64\_t err, const char \* fmt, ...)

Submit an error. The error handler will be called with the error provided.

**Parameters:**

*cfg* The configuration context (optional).\
 *err* The number corresponding to this error type.\
 *fmt* A printf()-style format string.\
 *...* The printf()-style arguments.

## Author

Generated automatically by Doxygen for José from the source code.
