> For the complete documentation index, see [llms.txt](https://mariadb.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mariadb.com/docs/connectors/mariadb-connector-c/mariadb-binlogreplication-api-reference/replication-api-function-reference/mariadb_rpl_open.md).

# mariadb\_rpl\_open()

Opens a binary log stream. Registers the client as a replica with the connected server and begins streaming binary log events.

### Syntax

```sql
#include <mariadb_rpl.h>

int mariadb_rpl_open(MARIADB_RPL *rpl);
```

### Parameters

| Parameter | Description                                                                                                                                                                                                                                                                           |
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `rpl`     | A replication handle, previously allocated by [`mariadb_rpl_init()`](/docs/connectors/mariadb-connector-c/mariadb-binlogreplication-api-reference/replication-api-function-reference/mariadb_rpl_init.md). At a minimum, `MARIADB_RPL_SERVER_ID` must have been set before this call. |

### Return Value

Returns zero on success, non-zero on failure. Call `mariadb_rpl_error()` to retrieve the error message.

### History

Added in [MariaDB Connector/C 3.1.0](/docs/release-notes/connectors/c/3.1/3.1.0.md).

### See Also

* [`mariadb_rpl_init()`](/docs/connectors/mariadb-connector-c/mariadb-binlogreplication-api-reference/replication-api-function-reference/mariadb_rpl_init.md)

<sub>*This page is: Copyright © 2026 MariaDB. All rights reserved.*</sub>
