[API BREAK] Use opaque types instead of structures in the public API
commit6f3c37f159f317673a6929125a329d082bdb10f1
authorAlberto Bertogli <albertito@blitiri.com.ar>
Wed, 15 Apr 2009 15:52:45 +0000 (15 12:52 -0300)
committerAlberto Bertogli <albertito@blitiri.com.ar>
Wed, 15 Apr 2009 15:52:45 +0000 (15 12:52 -0300)
treefa90bb065535c6b9cb6a95a206b39fb4926f90ff
parentcf835d72bd5c0bc050ee26e52d8f5e3ed18f1363
[API BREAK] Use opaque types instead of structures in the public API

To make the API more tidy, simple and easier to use, this patch removes
the public struct jfs and struct jtrans, replacing them with opaque types
jfs_t and jtrans_t.

As a result, jopen() and jtrans_init() now return pointers to the
structures, and jclose() and jtrans_free() free them.

There is also a small but important semantic change in jtrans_commit(),
which now returns -2 on unrecovered errors (previously, it was necessary
for the caller to check the transaction flags).

The version number is also bumped to 0.50, to reflect this major API
change.

Signed-off-by: Alberto Bertogli <albertito@blitiri.com.ar>
19 files changed:
UPGRADING
bindings/preload/libjio_preload.c
bindings/python2/libjio.c
bindings/python3/libjio.c
doc/guide.rst
libjio/ansi.c
libjio/check.c
libjio/common.h
libjio/libjio.3
libjio/libjio.h
libjio/trans.c
libjio/trans.h
libjio/unix.c
samples/full.c
samples/jio1.c
samples/jio2.c
samples/jio3.c
tests/performance/performance.c
tests/performance/random.c