r"""Wrapper for rowio.h

Generated with:
./run.py --no-embed-preamble /opt/local/var/macports/build/grass-4d324bc0/work/grass-8.5.0/dist.aarch64-apple-darwin23.6.0 --cpp /usr/bin/clang -E  -I/opt/local/include -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX14.sdk  "-Drestrict=" "-D__attribute__(x)=" "-D_Nonnull="  "-Dint8_t=char" "-DCF_INLINE=" "-D_Null_unspecified="  "-D__DARWIN_OS_INLINE="      -I/opt/local/var/macports/build/grass-4d324bc0/work/grass-8.5.0/dist.aarch64-apple-darwin23.6.0/include -I/opt/local/var/macports/build/grass-4d324bc0/work/grass-8.5.0/dist.aarch64-apple-darwin23.6.0/include -D__GLIBC_HAVE_LONG_LONG -lgrass_rowio.8.5 /opt/local/var/macports/build/grass-4d324bc0/work/grass-8.5.0/dist.aarch64-apple-darwin23.6.0/include/grass/rowio.h /opt/local/var/macports/build/grass-4d324bc0/work/grass-8.5.0/dist.aarch64-apple-darwin23.6.0/include/grass/defs/rowio.h -o OBJ.aarch64-apple-darwin23.6.0/rowio.py

Do not modify this file.
"""

__docformat__ = "restructuredtext"

# Begin preamble for Python

from .ctypes_preamble import *
from .ctypes_preamble import _variadic_function

# End preamble

_libs = {}
_libdirs = []

# Begin loader

from .ctypes_loader import *

# End loader

add_library_search_dirs([])

# Begin libraries
_libs["grass_rowio.8.5"] = load_library("grass_rowio.8.5")

# 1 libraries
# End libraries

# No modules

# include/grass/rowio.h: 14
class struct_ROWIO_RCB(Structure):
    pass

struct_ROWIO_RCB.__slots__ = [
    'buf',
    'age',
    'row',
    'dirty',
]
struct_ROWIO_RCB._fields_ = [
    ('buf', POINTER(None)),
    ('age', c_int),
    ('row', c_int),
    ('dirty', c_int),
]

# include/grass/rowio.h: 20
class struct_anon_1(Structure):
    pass

struct_anon_1.__slots__ = [
    'fd',
    'nrows',
    'len',
    'cur',
    'buf',
    'getrow',
    'putrow',
    'rcb',
]
struct_anon_1._fields_ = [
    ('fd', c_int),
    ('nrows', c_int),
    ('len', c_int),
    ('cur', c_int),
    ('buf', POINTER(None)),
    ('getrow', CFUNCTYPE(UNCHECKED(c_int), c_int, POINTER(None), c_int, c_int)),
    ('putrow', CFUNCTYPE(UNCHECKED(c_int), c_int, POINTER(None), c_int, c_int)),
    ('rcb', POINTER(struct_ROWIO_RCB)),
]

ROWIO = struct_anon_1# include/grass/rowio.h: 20

# include/grass/defs/rowio.h: 4
if _libs["grass_rowio.8.5"].has("Rowio_fileno", "cdecl"):
    Rowio_fileno = _libs["grass_rowio.8.5"].get("Rowio_fileno", "cdecl")
    Rowio_fileno.argtypes = [POINTER(ROWIO)]
    Rowio_fileno.restype = c_int

# include/grass/defs/rowio.h: 5
if _libs["grass_rowio.8.5"].has("Rowio_forget", "cdecl"):
    Rowio_forget = _libs["grass_rowio.8.5"].get("Rowio_forget", "cdecl")
    Rowio_forget.argtypes = [POINTER(ROWIO), c_int]
    Rowio_forget.restype = None

# include/grass/defs/rowio.h: 6
if _libs["grass_rowio.8.5"].has("Rowio_get", "cdecl"):
    Rowio_get = _libs["grass_rowio.8.5"].get("Rowio_get", "cdecl")
    Rowio_get.argtypes = [POINTER(ROWIO), c_int]
    Rowio_get.restype = POINTER(c_ubyte)
    Rowio_get.errcheck = lambda v,*a : cast(v, c_void_p)

# include/grass/defs/rowio.h: 7
if _libs["grass_rowio.8.5"].has("Rowio_flush", "cdecl"):
    Rowio_flush = _libs["grass_rowio.8.5"].get("Rowio_flush", "cdecl")
    Rowio_flush.argtypes = [POINTER(ROWIO)]
    Rowio_flush.restype = None

# include/grass/defs/rowio.h: 8
if _libs["grass_rowio.8.5"].has("Rowio_put", "cdecl"):
    Rowio_put = _libs["grass_rowio.8.5"].get("Rowio_put", "cdecl")
    Rowio_put.argtypes = [POINTER(ROWIO), POINTER(None), c_int]
    Rowio_put.restype = c_int

# include/grass/defs/rowio.h: 9
if _libs["grass_rowio.8.5"].has("Rowio_release", "cdecl"):
    Rowio_release = _libs["grass_rowio.8.5"].get("Rowio_release", "cdecl")
    Rowio_release.argtypes = [POINTER(ROWIO)]
    Rowio_release.restype = None

# include/grass/defs/rowio.h: 10
if _libs["grass_rowio.8.5"].has("Rowio_setup", "cdecl"):
    Rowio_setup = _libs["grass_rowio.8.5"].get("Rowio_setup", "cdecl")
    Rowio_setup.argtypes = [POINTER(ROWIO), c_int, c_int, c_int, CFUNCTYPE(UNCHECKED(c_int), c_int, POINTER(None), c_int, c_int), CFUNCTYPE(UNCHECKED(c_int), c_int, POINTER(None), c_int, c_int)]
    Rowio_setup.restype = c_int

ROWIO_RCB = struct_ROWIO_RCB# include/grass/rowio.h: 14

# No inserted files

# No prefix-stripping

