-- addDependentFile musl-include/x86_64/stdbool.h
-- addDependentFile musl-include/x86_64/bits/stdint.h
-- addDependentFile musl-include/x86_64/bits/alltypes.h
-- addDependentFile musl-include/x86_64/stddef.h
-- addDependentFile musl-include/x86_64/stdint.h
-- addDependentFile examples/golden/documentation/doxygen_docs.h
-- #include <documentation/doxygen_docs.h>
-- signed int hs_bindgen_7eada9f65d982412 (
--   uint8_t const *arg1,
--   uint8_t *arg2,
--   size_t *arg3
-- )
-- {
--   return process_data(arg1, arg2, arg3);
-- }
-- _Bool hs_bindgen_fb85499c501da1a7 (
--   char const *arg1
-- )
-- {
--   return process_file(arg1);
-- }
-- signed int hs_bindgen_a73fc7b108035c5c (
--   signed int arg1,
--   signed int arg2
-- )
-- {
--   return calculate_value(arg1, arg2);
-- }
-- _Bool hs_bindgen_9b7f6745401b4652 (
--   signed int arg1
-- )
-- {
--   return html_example(arg1);
-- }
-- _Bool hs_bindgen_825411dc114e599b (
--   char const **arg1,
--   size_t arg2
-- )
-- {
--   return list_example(arg1, arg2);
-- }
-- void *hs_bindgen_17264dcff7e9b698 (
--   void *arg1
-- )
-- {
--   return dangerous_function(arg1);
-- }
-- signed int hs_bindgen_c8ca619ec2e70d8d (
--   char const *arg1
-- )
-- {
--   return detailed_return_codes(arg1);
-- }
-- signed int hs_bindgen_25e1070e2ce10048 (
--   signed int arg1
-- )
-- {
--   return old_function(arg1);
-- }
-- signed int hs_bindgen_a9eeeb09808e71cc (
--   signed int arg1
-- )
-- {
--   return versioned_function(arg1);
-- }
-- signed int hs_bindgen_0c0057f1700372a7 (
--   char (*arg1)[64],
--   size_t arg2
-- )
-- {
--   return process_buffer(*arg1, arg2);
-- }
-- void *hs_bindgen_294db77671f95524 (
--   void *arg1,
--   void const *arg2,
--   size_t arg3
-- )
-- {
--   return my_memcpy(arg1, arg2, arg3);
-- }
-- signed int hs_bindgen_f5bc63a9952c2618 (
--   signed int arg1
-- )
-- {
--   return double_value(arg1);
-- }
-- status_code_t hs_bindgen_c4e7e99dba20204d (
--   config_t *arg1,
--   uint8_t const *arg2,
--   size_t arg3
-- )
-- {
--   return complex_function(arg1, arg2, arg3);
-- }
-- signed int hs_bindgen_935f2aead358d9ef (
--   char *arg1
-- )
-- {
--   return hash(arg1);
-- }
-- signed int hs_bindgen_39fef54c23d4e1ee (
--   signed int arg1
-- )
-- {
--   return square(arg1);
-- }
-- signed int hs_bindgen_e6085a910ba41ecb (
--   uint8_t const *arg1,
--   uint8_t *arg2,
--   size_t *arg3
-- )
-- {
--   return process_data(arg1, arg2, arg3);
-- }
-- _Bool hs_bindgen_c27e893aea0b0a77 (
--   char const *arg1
-- )
-- {
--   return process_file(arg1);
-- }
-- signed int hs_bindgen_bc1b0e25a72f4ec0 (
--   signed int arg1,
--   signed int arg2
-- )
-- {
--   return calculate_value(arg1, arg2);
-- }
-- _Bool hs_bindgen_09abc3cb74562964 (
--   signed int arg1
-- )
-- {
--   return html_example(arg1);
-- }
-- _Bool hs_bindgen_47cba1a95d265f84 (
--   char const **arg1,
--   size_t arg2
-- )
-- {
--   return list_example(arg1, arg2);
-- }
-- void *hs_bindgen_e065fc013e4eccd6 (
--   void *arg1
-- )
-- {
--   return dangerous_function(arg1);
-- }
-- signed int hs_bindgen_bc4f7e24b2ad4ace (
--   char const *arg1
-- )
-- {
--   return detailed_return_codes(arg1);
-- }
-- signed int hs_bindgen_8deec146389ae8b3 (
--   signed int arg1
-- )
-- {
--   return old_function(arg1);
-- }
-- signed int hs_bindgen_da2dcc1473935665 (
--   signed int arg1
-- )
-- {
--   return versioned_function(arg1);
-- }
-- signed int hs_bindgen_97c1191917e6eece (
--   char (*arg1)[64],
--   size_t arg2
-- )
-- {
--   return process_buffer(*arg1, arg2);
-- }
-- void *hs_bindgen_58253bb560dc3eb3 (
--   void *arg1,
--   void const *arg2,
--   size_t arg3
-- )
-- {
--   return my_memcpy(arg1, arg2, arg3);
-- }
-- signed int hs_bindgen_44dd19b16ee38e5b (
--   signed int arg1
-- )
-- {
--   return double_value(arg1);
-- }
-- status_code_t hs_bindgen_fd6fce7c8d8b2f79 (
--   config_t *arg1,
--   uint8_t const *arg2,
--   size_t arg3
-- )
-- {
--   return complex_function(arg1, arg2, arg3);
-- }
-- signed int hs_bindgen_dd36c8b317ccfcc4 (
--   char *arg1
-- )
-- {
--   return hash(arg1);
-- }
-- signed int hs_bindgen_6875e30a7fe8d30a (
--   signed int arg1
-- )
-- {
--   return square(arg1);
-- }
-- /* test_documentationdoxygen_docs_Example_get_process_data */
-- __attribute__ ((const))
-- signed int (*hs_bindgen_4a5cd66a4f26f8d5 (void)) (
--   uint8_t const *arg1,
--   uint8_t *arg2,
--   size_t *arg3
-- )
-- {
--   return &process_data;
-- }
-- /* test_documentationdoxygen_docs_Example_get_process_file */
-- __attribute__ ((const))
-- _Bool (*hs_bindgen_c8a059c65f18fea9 (void)) (
--   char const *arg1
-- )
-- {
--   return &process_file;
-- }
-- /* test_documentationdoxygen_docs_Example_get_calculate_value */
-- __attribute__ ((const))
-- signed int (*hs_bindgen_5ab7e06724867ab3 (void)) (
--   signed int arg1,
--   signed int arg2
-- )
-- {
--   return &calculate_value;
-- }
-- /* test_documentationdoxygen_docs_Example_get_html_example */
-- __attribute__ ((const))
-- _Bool (*hs_bindgen_3f74fb834b0cd46b (void)) (
--   signed int arg1
-- )
-- {
--   return &html_example;
-- }
-- /* test_documentationdoxygen_docs_Example_get_list_example */
-- __attribute__ ((const))
-- _Bool (*hs_bindgen_2175b3c627db39cf (void)) (
--   char const **arg1,
--   size_t arg2
-- )
-- {
--   return &list_example;
-- }
-- /* test_documentationdoxygen_docs_Example_get_dangerous_function */
-- __attribute__ ((const))
-- void *(*hs_bindgen_b7a4debd18827a19 (void)) (
--   void *arg1
-- )
-- {
--   return &dangerous_function;
-- }
-- /* test_documentationdoxygen_docs_Example_get_detailed_return_codes */
-- __attribute__ ((const))
-- signed int (*hs_bindgen_9700b22f82eedafe (void)) (
--   char const *arg1
-- )
-- {
--   return &detailed_return_codes;
-- }
-- /* test_documentationdoxygen_docs_Example_get_old_function */
-- __attribute__ ((const))
-- signed int (*hs_bindgen_49e0d34a627c6c19 (void)) (
--   signed int arg1
-- )
-- {
--   return &old_function;
-- }
-- /* test_documentationdoxygen_docs_Example_get_versioned_function */
-- __attribute__ ((const))
-- signed int (*hs_bindgen_180cd7537e40ce99 (void)) (
--   signed int arg1
-- )
-- {
--   return &versioned_function;
-- }
-- /* test_documentationdoxygen_docs_Example_get_process_buffer */
-- __attribute__ ((const))
-- signed int (*hs_bindgen_f4ccc6d90e8d3ebd (void)) (
--   char arg1[64],
--   size_t arg2
-- )
-- {
--   return &process_buffer;
-- }
-- /* test_documentationdoxygen_docs_Example_get_my_memcpy */
-- __attribute__ ((const))
-- void *(*hs_bindgen_6a74d376c901b531 (void)) (
--   void *arg1,
--   void const *arg2,
--   size_t arg3
-- )
-- {
--   return &my_memcpy;
-- }
-- /* test_documentationdoxygen_docs_Example_get_double_value */
-- __attribute__ ((const))
-- signed int (*hs_bindgen_156a92f3c5176105 (void)) (
--   signed int arg1
-- )
-- {
--   return &double_value;
-- }
-- /* test_documentationdoxygen_docs_Example_get_complex_function */
-- __attribute__ ((const))
-- status_code_t (*hs_bindgen_dfa39b6be50cb2ca (void)) (
--   config_t *arg1,
--   uint8_t const *arg2,
--   size_t arg3
-- )
-- {
--   return &complex_function;
-- }
-- /* test_documentationdoxygen_docs_Example_get_hash */
-- __attribute__ ((const))
-- signed int (*hs_bindgen_8ad88b79fd71f9d4 (void)) (
--   char *arg1
-- )
-- {
--   return &hash;
-- }
-- /* test_documentationdoxygen_docs_Example_get_square */
-- __attribute__ ((const))
-- signed int (*hs_bindgen_7ede0f7ec1b30650 (void)) (
--   signed int arg1
-- )
-- {
--   return &square;
-- }
-- /* test_documentationdoxygen_docs_Example_get_global_counter */
-- __attribute__ ((const))
-- signed int *hs_bindgen_f9dede86496f59c9 (void)
-- {
--   return &global_counter;
-- }
-- /* test_documentationdoxygen_docs_Example_get_version_string */
-- __attribute__ ((const))
-- char const **hs_bindgen_a294be08386c9257 (void)
-- {
--   return &version_string;
-- }
{-| __C declaration:__ @MAX_NAME_LENGTH@

    __defined at:__ @documentation\/doxygen_docs.h 39:9@

    __exported by:__ @documentation\/doxygen_docs.h@
-}
mAX_NAME_LENGTH :: CInt
{-| __C declaration:__ @MAX_NAME_LENGTH@

    __defined at:__ @documentation\/doxygen_docs.h 39:9@

    __exported by:__ @documentation\/doxygen_docs.h@
-}
mAX_NAME_LENGTH = 64 :: CInt
{-| This is the comment __title__

  > size_type

  Size type for this library

__C declaration:__ @size_type@

__defined at:__ @documentation\/doxygen_docs.h 54:16@

__exported by:__ @documentation\/doxygen_docs.h@
-}
newtype Size_type
    = Size_type {unwrapSize_type :: HsBindgen.Runtime.LibC.CSize}
      {- ^ This is the comment __title__

         > size_type

         Size type for this library

      __C declaration:__ @size_type@

      __defined at:__ @documentation\/doxygen_docs.h 54:16@

      __exported by:__ @documentation\/doxygen_docs.h@
      -}
    deriving stock (Eq, Ord, Read, Show)
    deriving newtype (StaticSize,
                      ReadRaw,
                      WriteRaw,
                      Storable,
                      HasFFIType,
                      Prim,
                      Bitfield,
                      Bits,
                      Bounded,
                      Enum,
                      FiniteBits,
                      Integral,
                      Ix,
                      Num,
                      Real)
instance TyEq ty (CFieldType Size_type "unwrapSize_type") =>
         HasField "unwrapSize_type" (Ptr Size_type) (Ptr ty)
    where getField = fromPtr (Proxy @"unwrapSize_type")
instance HasCField Size_type "unwrapSize_type"
    where type CFieldType Size_type
                          "unwrapSize_type" = HsBindgen.Runtime.LibC.CSize
          offset# = \_ -> \_ -> 0
{-| This is the comment @title@

  Forward declaration with documentation

__C declaration:__ @struct forward_declared_struct@

__defined at:__ @documentation\/doxygen_docs.h 72:8@

__exported by:__ @documentation\/doxygen_docs.h@
-}
data Forward_declared_struct
{-|

  Forward declaration of union

__C declaration:__ @union forward_declared_union@

__defined at:__ @documentation\/doxygen_docs.h 77:7@

__exported by:__ @documentation\/doxygen_docs.h@
-}
data Forward_declared_union
{-|

  > color_enum

  Color enumeration without typedef

__C declaration:__ @enum color_enum@

__defined at:__ @documentation\/doxygen_docs.h 83:6@

__exported by:__ @documentation\/doxygen_docs.h@
-}
newtype Color_enum
    = Color_enum {unwrapColor_enum :: CUInt}
      {- ^

         > color_enum

         Color enumeration without typedef

      __C declaration:__ @enum color_enum@

      __defined at:__ @documentation\/doxygen_docs.h 83:6@

      __exported by:__ @documentation\/doxygen_docs.h@
      -}
    deriving stock (Eq, Ord)
    deriving newtype HasFFIType
instance StaticSize Color_enum
    where staticSizeOf = \_ -> 4 :: Int
          staticAlignment = \_ -> 4 :: Int
instance ReadRaw Color_enum
    where readRaw = \ptr_0 -> pure Color_enum <*> readRawByteOff ptr_0 (0 :: Int)
instance WriteRaw Color_enum
    where writeRaw = \ptr_0 -> \s_1 -> case s_1 of
                                       Color_enum unwrapColor_enum_2 -> writeRawByteOff ptr_0 (0 :: Int) unwrapColor_enum_2
deriving via (EquivStorable Color_enum) instance Storable Color_enum
deriving via CUInt instance Prim Color_enum
instance CEnum Color_enum
    where type CEnumZ Color_enum = CUInt
          toCEnum = Color_enum
          fromCEnum = unwrapColor_enum
          declaredValues = \_ -> declaredValuesFromList [(0,
                                                          singleton "COLOR_RED"),
                                                         (1, singleton "COLOR_GREEN"),
                                                         (2, singleton "COLOR_BLUE")]
          showsUndeclared = showsWrappedUndeclared "Color_enum"
          readPrecUndeclared = readPrecWrappedUndeclared "Color_enum"
          isDeclared = seqIsDeclared
          mkDeclared = seqMkDeclared
instance SequentialCEnum Color_enum
    where minDeclaredValue = COLOR_RED
          maxDeclaredValue = COLOR_BLUE
instance Show Color_enum
    where showsPrec = shows
instance Read Color_enum
    where readPrec = readPrec
          readList = readListDefault
          readListPrec = readListPrecDefault
instance TyEq ty (CFieldType Color_enum "unwrapColor_enum") =>
         HasField "unwrapColor_enum" (Ptr Color_enum) (Ptr ty)
    where getField = fromPtr (Proxy @"unwrapColor_enum")
instance HasCField Color_enum "unwrapColor_enum"
    where type CFieldType Color_enum "unwrapColor_enum" = CUInt
          offset# = \_ -> \_ -> 0
{-| Red color

__C declaration:__ @COLOR_RED@

__defined at:__ @documentation\/doxygen_docs.h 84:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
pattern COLOR_RED :: Color_enum
{-| Red color

__C declaration:__ @COLOR_RED@

__defined at:__ @documentation\/doxygen_docs.h 84:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
pattern COLOR_RED = Color_enum 0
{-| Green color

__C declaration:__ @COLOR_GREEN@

__defined at:__ @documentation\/doxygen_docs.h 85:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
pattern COLOR_GREEN :: Color_enum
{-| Green color

__C declaration:__ @COLOR_GREEN@

__defined at:__ @documentation\/doxygen_docs.h 85:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
pattern COLOR_GREEN = Color_enum 1
{-| Blue color

__C declaration:__ @COLOR_BLUE@

__defined at:__ @documentation\/doxygen_docs.h 86:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
pattern COLOR_BLUE :: Color_enum
{-| Blue color

__C declaration:__ @COLOR_BLUE@

__defined at:__ @documentation\/doxygen_docs.h 86:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
pattern COLOR_BLUE = Color_enum 2
{-| Auxiliary type used by 'Event_callback_t'

__C declaration:__ @event_callback_t@

__defined at:__ @documentation\/doxygen_docs.h 225:15@

__exported by:__ @documentation\/doxygen_docs.h@
-}
newtype Event_callback_t_Aux
    = Event_callback_t_Aux {unwrapEvent_callback_t_Aux :: (CInt ->
                                                           Ptr Void -> IO CInt)}
      {- ^ Auxiliary type used by 'Event_callback_t'

      __C declaration:__ @event_callback_t@

      __defined at:__ @documentation\/doxygen_docs.h 225:15@

      __exported by:__ @documentation\/doxygen_docs.h@
      -}
    deriving newtype HasFFIType
foreign import ccall safe "wrapper" hs_bindgen_111918b0aee2a7fb_base ::
    Int32 -> Ptr Void -> IO Int32
 -> IO (FunPtr (Int32 -> Ptr Void -> IO Int32))
-- __unique:__ @toEvent_callback_t_Aux@
hs_bindgen_111918b0aee2a7fb :: Event_callback_t_Aux ->
                               IO (FunPtr Event_callback_t_Aux)
-- __unique:__ @toEvent_callback_t_Aux@
hs_bindgen_111918b0aee2a7fb = \fun_0 -> fmap castFunPtrFromFFIType (hs_bindgen_111918b0aee2a7fb_base (toFFIType fun_0))
foreign import ccall safe "dynamic" hs_bindgen_9e9d478c2d75628c_base ::
    FunPtr (Int32 -> Ptr Void -> IO Int32)
 -> Int32
 -> Ptr Void
 -> IO Int32
-- __unique:__ @fromEvent_callback_t_Aux@
hs_bindgen_9e9d478c2d75628c :: FunPtr Event_callback_t_Aux ->
                               Event_callback_t_Aux
-- __unique:__ @fromEvent_callback_t_Aux@
hs_bindgen_9e9d478c2d75628c = \funPtr_0 -> fromFFIType (hs_bindgen_9e9d478c2d75628c_base (castFunPtrToFFIType funPtr_0))
instance ToFunPtr Event_callback_t_Aux
    where toFunPtr = hs_bindgen_111918b0aee2a7fb
instance FromFunPtr Event_callback_t_Aux
    where fromFunPtr = hs_bindgen_9e9d478c2d75628c
instance TyEq ty
              (CFieldType Event_callback_t_Aux "unwrapEvent_callback_t_Aux") =>
         HasField "unwrapEvent_callback_t_Aux"
                  (Ptr Event_callback_t_Aux)
                  (Ptr ty)
    where getField = fromPtr (Proxy @"unwrapEvent_callback_t_Aux")
instance HasCField Event_callback_t_Aux
                   "unwrapEvent_callback_t_Aux"
    where type CFieldType Event_callback_t_Aux
                          "unwrapEvent_callback_t_Aux" = CInt -> Ptr Void -> IO CInt
          offset# = \_ -> \_ -> 0
{-|

  Callback function type

  [__@event_type@ /(input)/__]: Type of event

  [__@user_data@ /(input)/__]: User-provided data

  __returns:__ Handling result

__C declaration:__ @event_callback_t@

__defined at:__ @documentation\/doxygen_docs.h 225:15@

__exported by:__ @documentation\/doxygen_docs.h@
-}
newtype Event_callback_t
    = Event_callback_t {unwrapEvent_callback_t :: (FunPtr Event_callback_t_Aux)}
      {- ^

         Callback function type

         [__@event_type@ /(input)/__]: Type of event

         [__@user_data@ /(input)/__]: User-provided data

         __returns:__ Handling result

      __C declaration:__ @event_callback_t@

      __defined at:__ @documentation\/doxygen_docs.h 225:15@

      __exported by:__ @documentation\/doxygen_docs.h@
      -}
    deriving stock (Eq, Ord, Show)
    deriving newtype (StaticSize,
                      ReadRaw,
                      WriteRaw,
                      Storable,
                      HasFFIType)
instance TyEq ty
              (CFieldType Event_callback_t "unwrapEvent_callback_t") =>
         HasField "unwrapEvent_callback_t" (Ptr Event_callback_t) (Ptr ty)
    where getField = fromPtr (Proxy @"unwrapEvent_callback_t")
instance HasCField Event_callback_t "unwrapEvent_callback_t"
    where type CFieldType Event_callback_t
                          "unwrapEvent_callback_t" = FunPtr Event_callback_t_Aux
          offset# = \_ -> \_ -> 0
{-|

  Structure with documented fields

  This structure demonstrates field documentation.

__C declaration:__ @struct config_t@

__defined at:__ @documentation\/doxygen_docs.h 232:9@

__exported by:__ @documentation\/doxygen_docs.h@
-}
data Config_t
    = Config_t {config_t_id :: HsBindgen.Runtime.LibC.Word32
                {- ^

                   Unique identifier

                __C declaration:__ @id@

                __defined at:__ @documentation\/doxygen_docs.h 234:14@

                __exported by:__ @documentation\/doxygen_docs.h@
                -},
                config_t_name :: (ConstantArray 64 CChar)
                {- ^

                   Human-readable name

                __C declaration:__ @name@

                __defined at:__ @documentation\/doxygen_docs.h 237:10@

                __exported by:__ @documentation\/doxygen_docs.h@
                -},
                config_t_flags :: HsBindgen.Runtime.LibC.Word32
                {- ^

                   Configuration flags

                __C declaration:__ @flags@

                __defined at:__ @documentation\/doxygen_docs.h 240:14@

                __exported by:__ @documentation\/doxygen_docs.h@
                -},
                config_t_callback :: Event_callback_t
                {- ^

                   Optional callback function

                   See also: 'Event_callback_t'

                __C declaration:__ @callback@

                __defined at:__ @documentation\/doxygen_docs.h 247:22@

                __exported by:__ @documentation\/doxygen_docs.h@
                -},
                config_t_user_data :: (Ptr Void)
                {- ^

                   User data for callback

                __C declaration:__ @user_data@

                __defined at:__ @documentation\/doxygen_docs.h 250:11@

                __exported by:__ @documentation\/doxygen_docs.h@
                -}}
      {- ^

         Structure with documented fields

         This structure demonstrates field documentation.

      __C declaration:__ @struct config_t@

      __defined at:__ @documentation\/doxygen_docs.h 232:9@

      __exported by:__ @documentation\/doxygen_docs.h@
      -}
    deriving stock (Eq, Show)
instance StaticSize Config_t
    where staticSizeOf = \_ -> 88 :: Int
          staticAlignment = \_ -> 8 :: Int
instance ReadRaw Config_t
    where readRaw = \ptr_0 -> ((((pure Config_t <*> readRaw (Proxy @"config_t_id") ptr_0) <*> readRaw (Proxy @"config_t_name") ptr_0) <*> readRaw (Proxy @"config_t_flags") ptr_0) <*> readRaw (Proxy @"config_t_callback") ptr_0) <*> readRaw (Proxy @"config_t_user_data") ptr_0
instance WriteRaw Config_t
    where writeRaw = \ptr_0 -> \s_1 -> case s_1 of
                                       Config_t config_t_id_2
                                                config_t_name_3
                                                config_t_flags_4
                                                config_t_callback_5
                                                config_t_user_data_6 -> writeRaw (Proxy @"config_t_id") ptr_0 config_t_id_2 >> (writeRaw (Proxy @"config_t_name") ptr_0 config_t_name_3 >> (writeRaw (Proxy @"config_t_flags") ptr_0 config_t_flags_4 >> (writeRaw (Proxy @"config_t_callback") ptr_0 config_t_callback_5 >> writeRaw (Proxy @"config_t_user_data") ptr_0 config_t_user_data_6)))
deriving via (EquivStorable Config_t) instance Storable Config_t
instance HasCField Config_t "config_t_id"
    where type CFieldType Config_t
                          "config_t_id" = HsBindgen.Runtime.LibC.Word32
          offset# = \_ -> \_ -> 0
instance TyEq ty (CFieldType Config_t "config_t_id") =>
         HasField "config_t_id" (Ptr Config_t) (Ptr ty)
    where getField = fromPtr (Proxy @"config_t_id")
instance HasCField Config_t "config_t_name"
    where type CFieldType Config_t "config_t_name" = ConstantArray 64
                                                                   CChar
          offset# = \_ -> \_ -> 4
instance TyEq ty (CFieldType Config_t "config_t_name") =>
         HasField "config_t_name" (Ptr Config_t) (Ptr ty)
    where getField = fromPtr (Proxy @"config_t_name")
instance HasCField Config_t "config_t_flags"
    where type CFieldType Config_t
                          "config_t_flags" = HsBindgen.Runtime.LibC.Word32
          offset# = \_ -> \_ -> 68
instance TyEq ty (CFieldType Config_t "config_t_flags") =>
         HasField "config_t_flags" (Ptr Config_t) (Ptr ty)
    where getField = fromPtr (Proxy @"config_t_flags")
instance HasCField Config_t "config_t_callback"
    where type CFieldType Config_t
                          "config_t_callback" = Event_callback_t
          offset# = \_ -> \_ -> 72
instance TyEq ty (CFieldType Config_t "config_t_callback") =>
         HasField "config_t_callback" (Ptr Config_t) (Ptr ty)
    where getField = fromPtr (Proxy @"config_t_callback")
instance HasCField Config_t "config_t_user_data"
    where type CFieldType Config_t "config_t_user_data" = Ptr Void
          offset# = \_ -> \_ -> 80
instance TyEq ty (CFieldType Config_t "config_t_user_data") =>
         HasField "config_t_user_data" (Ptr Config_t) (Ptr ty)
    where getField = fromPtr (Proxy @"config_t_user_data")
{-|

  Enumeration with documented values

  This enum shows different status codes.

__C declaration:__ @enum status_code_t@

__defined at:__ @documentation\/doxygen_docs.h 258:9@

__exported by:__ @documentation\/doxygen_docs.h@
-}
newtype Status_code_t
    = Status_code_t {unwrapStatus_code_t :: CInt}
      {- ^

         Enumeration with documented values

         This enum shows different status codes.

      __C declaration:__ @enum status_code_t@

      __defined at:__ @documentation\/doxygen_docs.h 258:9@

      __exported by:__ @documentation\/doxygen_docs.h@
      -}
    deriving stock (Eq, Ord)
    deriving newtype HasFFIType
instance StaticSize Status_code_t
    where staticSizeOf = \_ -> 4 :: Int
          staticAlignment = \_ -> 4 :: Int
instance ReadRaw Status_code_t
    where readRaw = \ptr_0 -> pure Status_code_t <*> readRawByteOff ptr_0 (0 :: Int)
instance WriteRaw Status_code_t
    where writeRaw = \ptr_0 -> \s_1 -> case s_1 of
                                       Status_code_t unwrapStatus_code_t_2 -> writeRawByteOff ptr_0 (0 :: Int) unwrapStatus_code_t_2
deriving via (EquivStorable Status_code_t) instance Storable Status_code_t
deriving via CInt instance Prim Status_code_t
instance CEnum Status_code_t
    where type CEnumZ Status_code_t = CInt
          toCEnum = Status_code_t
          fromCEnum = unwrapStatus_code_t
          declaredValues = \_ -> declaredValuesFromList [(-99,
                                                          singleton "STATUS_ERROR"),
                                                         (-3, singleton "STATUS_TIMEOUT"),
                                                         (-2, singleton "STATUS_NO_MEMORY"),
                                                         (-1, singleton "STATUS_INVALID_PARAM"),
                                                         (0, singleton "STATUS_OK")]
          showsUndeclared = showsWrappedUndeclared "Status_code_t"
          readPrecUndeclared = readPrecWrappedUndeclared "Status_code_t"
instance Show Status_code_t
    where showsPrec = shows
instance Read Status_code_t
    where readPrec = readPrec
          readList = readListDefault
          readListPrec = readListPrecDefault
instance TyEq ty
              (CFieldType Status_code_t "unwrapStatus_code_t") =>
         HasField "unwrapStatus_code_t" (Ptr Status_code_t) (Ptr ty)
    where getField = fromPtr (Proxy @"unwrapStatus_code_t")
instance HasCField Status_code_t "unwrapStatus_code_t"
    where type CFieldType Status_code_t "unwrapStatus_code_t" = CInt
          offset# = \_ -> \_ -> 0
{-|

  Operation successful

__C declaration:__ @STATUS_OK@

__defined at:__ @documentation\/doxygen_docs.h 260:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
pattern STATUS_OK :: Status_code_t
{-|

  Operation successful

__C declaration:__ @STATUS_OK@

__defined at:__ @documentation\/doxygen_docs.h 260:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
pattern STATUS_OK = Status_code_t 0
{-|

  Invalid parameter provided

__C declaration:__ @STATUS_INVALID_PARAM@

__defined at:__ @documentation\/doxygen_docs.h 263:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
pattern STATUS_INVALID_PARAM :: Status_code_t
{-|

  Invalid parameter provided

__C declaration:__ @STATUS_INVALID_PARAM@

__defined at:__ @documentation\/doxygen_docs.h 263:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
pattern STATUS_INVALID_PARAM = Status_code_t (-1)
{-|

  Memory allocation failed

__C declaration:__ @STATUS_NO_MEMORY@

__defined at:__ @documentation\/doxygen_docs.h 266:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
pattern STATUS_NO_MEMORY :: Status_code_t
{-|

  Memory allocation failed

__C declaration:__ @STATUS_NO_MEMORY@

__defined at:__ @documentation\/doxygen_docs.h 266:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
pattern STATUS_NO_MEMORY = Status_code_t (-2)
{-|

  Operation timed out

__C declaration:__ @STATUS_TIMEOUT@

__defined at:__ @documentation\/doxygen_docs.h 269:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
pattern STATUS_TIMEOUT :: Status_code_t
{-|

  Operation timed out

__C declaration:__ @STATUS_TIMEOUT@

__defined at:__ @documentation\/doxygen_docs.h 269:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
pattern STATUS_TIMEOUT = Status_code_t (-3)
{-|

  Generic error

__C declaration:__ @STATUS_ERROR@

__defined at:__ @documentation\/doxygen_docs.h 272:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
pattern STATUS_ERROR :: Status_code_t
{-|

  Generic error

__C declaration:__ @STATUS_ERROR@

__defined at:__ @documentation\/doxygen_docs.h 272:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
pattern STATUS_ERROR = Status_code_t (-99)
{-|

  Structured representation

  Allows access to high and low parts separately

__C declaration:__ @struct \@data_union_t_as_parts@

__defined at:__ @documentation\/doxygen_docs.h 290:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
data Data_union_t_as_parts
    = Data_union_t_as_parts {data_union_t_as_parts_low :: HsBindgen.Runtime.LibC.Word16
                             {- ^

                                Low 16 bits

                             __C declaration:__ @low@

                             __defined at:__ @documentation\/doxygen_docs.h 291:18@

                             __exported by:__ @documentation\/doxygen_docs.h@
                             -},
                             data_union_t_as_parts_high :: HsBindgen.Runtime.LibC.Word16
                             {- ^

                                High 16 bits

                             __C declaration:__ @high@

                             __defined at:__ @documentation\/doxygen_docs.h 292:18@

                             __exported by:__ @documentation\/doxygen_docs.h@
                             -}}
      {- ^

         Structured representation

         Allows access to high and low parts separately

      __C declaration:__ @struct \@data_union_t_as_parts@

      __defined at:__ @documentation\/doxygen_docs.h 290:5@

      __exported by:__ @documentation\/doxygen_docs.h@
      -}
    deriving stock (Eq, Show)
instance StaticSize Data_union_t_as_parts
    where staticSizeOf = \_ -> 4 :: Int
          staticAlignment = \_ -> 2 :: Int
instance ReadRaw Data_union_t_as_parts
    where readRaw = \ptr_0 -> (pure Data_union_t_as_parts <*> readRaw (Proxy @"data_union_t_as_parts_low") ptr_0) <*> readRaw (Proxy @"data_union_t_as_parts_high") ptr_0
instance WriteRaw Data_union_t_as_parts
    where writeRaw = \ptr_0 -> \s_1 -> case s_1 of
                                       Data_union_t_as_parts data_union_t_as_parts_low_2
                                                             data_union_t_as_parts_high_3 -> writeRaw (Proxy @"data_union_t_as_parts_low") ptr_0 data_union_t_as_parts_low_2 >> writeRaw (Proxy @"data_union_t_as_parts_high") ptr_0 data_union_t_as_parts_high_3
deriving via (EquivStorable Data_union_t_as_parts) instance Storable Data_union_t_as_parts
instance HasCField Data_union_t_as_parts
                   "data_union_t_as_parts_low"
    where type CFieldType Data_union_t_as_parts
                          "data_union_t_as_parts_low" = HsBindgen.Runtime.LibC.Word16
          offset# = \_ -> \_ -> 0
instance TyEq ty
              (CFieldType Data_union_t_as_parts "data_union_t_as_parts_low") =>
         HasField "data_union_t_as_parts_low"
                  (Ptr Data_union_t_as_parts)
                  (Ptr ty)
    where getField = fromPtr (Proxy @"data_union_t_as_parts_low")
instance HasCField Data_union_t_as_parts
                   "data_union_t_as_parts_high"
    where type CFieldType Data_union_t_as_parts
                          "data_union_t_as_parts_high" = HsBindgen.Runtime.LibC.Word16
          offset# = \_ -> \_ -> 2
instance TyEq ty
              (CFieldType Data_union_t_as_parts "data_union_t_as_parts_high") =>
         HasField "data_union_t_as_parts_high"
                  (Ptr Data_union_t_as_parts)
                  (Ptr ty)
    where getField = fromPtr (Proxy @"data_union_t_as_parts_high")
{-|

  > data_union_t

  Union with documented fields

  This union demonstrates different data representations.

__C declaration:__ @union data_union_t@

__defined at:__ @documentation\/doxygen_docs.h 281:9@

__exported by:__ @documentation\/doxygen_docs.h@
-}
newtype Data_union_t
    = Data_union_t {unwrapData_union_t :: ByteArray}
      {- ^

         > data_union_t

         Union with documented fields

         This union demonstrates different data representations.

      __C declaration:__ @union data_union_t@

      __defined at:__ @documentation\/doxygen_docs.h 281:9@

      __exported by:__ @documentation\/doxygen_docs.h@
      -}
deriving via (SizedByteArray 4 4) instance StaticSize Data_union_t
deriving via (SizedByteArray 4 4) instance ReadRaw Data_union_t
deriving via (SizedByteArray 4 4) instance WriteRaw Data_union_t
deriving via (EquivStorable Data_union_t) instance Storable Data_union_t
{-|

  Integer representation

  __See:__ 'set_data_union_t_as_int'

__C declaration:__ @as_int@

__defined at:__ @documentation\/doxygen_docs.h 282:13@

__exported by:__ @documentation\/doxygen_docs.h@
-}
get_data_union_t_as_int :: Data_union_t ->
                           HsBindgen.Runtime.LibC.Int32
{-|

  Integer representation

  __See:__ 'set_data_union_t_as_int'

__C declaration:__ @as_int@

__defined at:__ @documentation\/doxygen_docs.h 282:13@

__exported by:__ @documentation\/doxygen_docs.h@
-}
get_data_union_t_as_int = getUnionPayload
{-|

  __See:__ 'get_data_union_t_as_int'

-}
set_data_union_t_as_int :: HsBindgen.Runtime.LibC.Int32 ->
                           Data_union_t
{-|

  __See:__ 'get_data_union_t_as_int'

-}
set_data_union_t_as_int = setUnionPayload
{-|

  Float representation

  __See:__ 'set_data_union_t_as_float'

__C declaration:__ @as_float@

__defined at:__ @documentation\/doxygen_docs.h 283:11@

__exported by:__ @documentation\/doxygen_docs.h@
-}
get_data_union_t_as_float :: Data_union_t -> CFloat
{-|

  Float representation

  __See:__ 'set_data_union_t_as_float'

__C declaration:__ @as_float@

__defined at:__ @documentation\/doxygen_docs.h 283:11@

__exported by:__ @documentation\/doxygen_docs.h@
-}
get_data_union_t_as_float = getUnionPayload
{-|

  __See:__ 'get_data_union_t_as_float'

-}
set_data_union_t_as_float :: CFloat -> Data_union_t
{-|

  __See:__ 'get_data_union_t_as_float'

-}
set_data_union_t_as_float = setUnionPayload
{-|

  Byte array representation

  __See:__ 'set_data_union_t_as_bytes'

__C declaration:__ @as_bytes@

__defined at:__ @documentation\/doxygen_docs.h 284:13@

__exported by:__ @documentation\/doxygen_docs.h@
-}
get_data_union_t_as_bytes :: Data_union_t ->
                             ConstantArray 4 HsBindgen.Runtime.LibC.Word8
{-|

  Byte array representation

  __See:__ 'set_data_union_t_as_bytes'

__C declaration:__ @as_bytes@

__defined at:__ @documentation\/doxygen_docs.h 284:13@

__exported by:__ @documentation\/doxygen_docs.h@
-}
get_data_union_t_as_bytes = getUnionPayload
{-|

  __See:__ 'get_data_union_t_as_bytes'

-}
set_data_union_t_as_bytes :: ConstantArray 4
                                           HsBindgen.Runtime.LibC.Word8 ->
                             Data_union_t
{-|

  __See:__ 'get_data_union_t_as_bytes'

-}
set_data_union_t_as_bytes = setUnionPayload
{-| As Parts Struct

  __See:__ 'set_data_union_t_as_parts'

__C declaration:__ @as_parts@

__defined at:__ @documentation\/doxygen_docs.h 293:30@

__exported by:__ @documentation\/doxygen_docs.h@
-}
get_data_union_t_as_parts :: Data_union_t -> Data_union_t_as_parts
{-| As Parts Struct

  __See:__ 'set_data_union_t_as_parts'

__C declaration:__ @as_parts@

__defined at:__ @documentation\/doxygen_docs.h 293:30@

__exported by:__ @documentation\/doxygen_docs.h@
-}
get_data_union_t_as_parts = getUnionPayload
{-|

  __See:__ 'get_data_union_t_as_parts'

-}
set_data_union_t_as_parts :: Data_union_t_as_parts -> Data_union_t
{-|

  __See:__ 'get_data_union_t_as_parts'

-}
set_data_union_t_as_parts = setUnionPayload
instance HasCField Data_union_t "data_union_t_as_int"
    where type CFieldType Data_union_t
                          "data_union_t_as_int" = HsBindgen.Runtime.LibC.Int32
          offset# = \_ -> \_ -> 0
instance TyEq ty (CFieldType Data_union_t "data_union_t_as_int") =>
         HasField "data_union_t_as_int" (Ptr Data_union_t) (Ptr ty)
    where getField = fromPtr (Proxy @"data_union_t_as_int")
instance HasCField Data_union_t "data_union_t_as_float"
    where type CFieldType Data_union_t "data_union_t_as_float" = CFloat
          offset# = \_ -> \_ -> 0
instance TyEq ty
              (CFieldType Data_union_t "data_union_t_as_float") =>
         HasField "data_union_t_as_float" (Ptr Data_union_t) (Ptr ty)
    where getField = fromPtr (Proxy @"data_union_t_as_float")
instance HasCField Data_union_t "data_union_t_as_bytes"
    where type CFieldType Data_union_t
                          "data_union_t_as_bytes" = ConstantArray 4
                                                                  HsBindgen.Runtime.LibC.Word8
          offset# = \_ -> \_ -> 0
instance TyEq ty
              (CFieldType Data_union_t "data_union_t_as_bytes") =>
         HasField "data_union_t_as_bytes" (Ptr Data_union_t) (Ptr ty)
    where getField = fromPtr (Proxy @"data_union_t_as_bytes")
instance HasCField Data_union_t "data_union_t_as_parts"
    where type CFieldType Data_union_t
                          "data_union_t_as_parts" = Data_union_t_as_parts
          offset# = \_ -> \_ -> 0
instance TyEq ty
              (CFieldType Data_union_t "data_union_t_as_parts") =>
         HasField "data_union_t_as_parts" (Ptr Data_union_t) (Ptr ty)
    where getField = fromPtr (Proxy @"data_union_t_as_parts")
{-|

  > bitfield_t

  Bit field structure

  Demonstrates bit field documentation.

__C declaration:__ @struct bitfield_t@

__defined at:__ @documentation\/doxygen_docs.h 302:9@

__exported by:__ @documentation\/doxygen_docs.h@
-}
data Bitfield_t
    = Bitfield_t {bitfield_t_flag1 :: CUInt
                  {- ^

                     First flag (1 bit)

                  __C declaration:__ @flag1@

                  __defined at:__ @documentation\/doxygen_docs.h 303:14@

                  __exported by:__ @documentation\/doxygen_docs.h@
                  -},
                  bitfield_t_flag2 :: CUInt
                  {- ^

                     Second flag (1 bit)

                  __C declaration:__ @flag2@

                  __defined at:__ @documentation\/doxygen_docs.h 304:14@

                  __exported by:__ @documentation\/doxygen_docs.h@
                  -},
                  bitfield_t_counter :: CUInt
                  {- ^

                     Counter value (6 bits)

                  __C declaration:__ @counter@

                  __defined at:__ @documentation\/doxygen_docs.h 305:14@

                  __exported by:__ @documentation\/doxygen_docs.h@
                  -},
                  bitfield_t_reserved :: CUInt
                  {- ^

                     Reserved bits (24 bits)

                  __C declaration:__ @reserved@

                  __defined at:__ @documentation\/doxygen_docs.h 306:14@

                  __exported by:__ @documentation\/doxygen_docs.h@
                  -}}
      {- ^

         > bitfield_t

         Bit field structure

         Demonstrates bit field documentation.

      __C declaration:__ @struct bitfield_t@

      __defined at:__ @documentation\/doxygen_docs.h 302:9@

      __exported by:__ @documentation\/doxygen_docs.h@
      -}
    deriving stock (Eq, Show)
instance StaticSize Bitfield_t
    where staticSizeOf = \_ -> 4 :: Int
          staticAlignment = \_ -> 4 :: Int
instance ReadRaw Bitfield_t
    where readRaw = \ptr_0 -> (((pure Bitfield_t <*> peek (Proxy @"bitfield_t_flag1") ptr_0) <*> peek (Proxy @"bitfield_t_flag2") ptr_0) <*> peek (Proxy @"bitfield_t_counter") ptr_0) <*> peek (Proxy @"bitfield_t_reserved") ptr_0
instance WriteRaw Bitfield_t
    where writeRaw = \ptr_0 -> \s_1 -> case s_1 of
                                       Bitfield_t bitfield_t_flag1_2
                                                  bitfield_t_flag2_3
                                                  bitfield_t_counter_4
                                                  bitfield_t_reserved_5 -> poke (Proxy @"bitfield_t_flag1") ptr_0 bitfield_t_flag1_2 >> (poke (Proxy @"bitfield_t_flag2") ptr_0 bitfield_t_flag2_3 >> (poke (Proxy @"bitfield_t_counter") ptr_0 bitfield_t_counter_4 >> poke (Proxy @"bitfield_t_reserved") ptr_0 bitfield_t_reserved_5))
deriving via (EquivStorable Bitfield_t) instance Storable Bitfield_t
instance HasCBitfield Bitfield_t "bitfield_t_flag1"
    where type CBitfieldType Bitfield_t "bitfield_t_flag1" = CUInt
          bitfieldOffset# = \_ -> \_ -> 0
          bitfieldWidth# = \_ -> \_ -> 1
instance TyEq ty (CBitfieldType Bitfield_t "bitfield_t_flag1") =>
         HasField "bitfield_t_flag1" (Ptr Bitfield_t) (BitfieldPtr ty)
    where getField = toPtr (Proxy @"bitfield_t_flag1")
instance HasCBitfield Bitfield_t "bitfield_t_flag2"
    where type CBitfieldType Bitfield_t "bitfield_t_flag2" = CUInt
          bitfieldOffset# = \_ -> \_ -> 1
          bitfieldWidth# = \_ -> \_ -> 1
instance TyEq ty (CBitfieldType Bitfield_t "bitfield_t_flag2") =>
         HasField "bitfield_t_flag2" (Ptr Bitfield_t) (BitfieldPtr ty)
    where getField = toPtr (Proxy @"bitfield_t_flag2")
instance HasCBitfield Bitfield_t "bitfield_t_counter"
    where type CBitfieldType Bitfield_t "bitfield_t_counter" = CUInt
          bitfieldOffset# = \_ -> \_ -> 2
          bitfieldWidth# = \_ -> \_ -> 6
instance TyEq ty (CBitfieldType Bitfield_t "bitfield_t_counter") =>
         HasField "bitfield_t_counter" (Ptr Bitfield_t) (BitfieldPtr ty)
    where getField = toPtr (Proxy @"bitfield_t_counter")
instance HasCBitfield Bitfield_t "bitfield_t_reserved"
    where type CBitfieldType Bitfield_t "bitfield_t_reserved" = CUInt
          bitfieldOffset# = \_ -> \_ -> 8
          bitfieldWidth# = \_ -> \_ -> 24
instance TyEq ty
              (CBitfieldType Bitfield_t "bitfield_t_reserved") =>
         HasField "bitfield_t_reserved" (Ptr Bitfield_t) (BitfieldPtr ty)
    where getField = toPtr (Proxy @"bitfield_t_reserved")
{-| Auxiliary type used by 'Processor_fn_t'

__C declaration:__ @processor_fn_t@

__defined at:__ @documentation\/doxygen_docs.h 317:15@

__exported by:__ @documentation\/doxygen_docs.h@
-}
newtype Processor_fn_t_Aux
    = Processor_fn_t_Aux {unwrapProcessor_fn_t_Aux :: (CInt ->
                                                       Ptr Void -> IO CInt)}
      {- ^ Auxiliary type used by 'Processor_fn_t'

      __C declaration:__ @processor_fn_t@

      __defined at:__ @documentation\/doxygen_docs.h 317:15@

      __exported by:__ @documentation\/doxygen_docs.h@
      -}
    deriving newtype HasFFIType
foreign import ccall safe "wrapper" hs_bindgen_d4e16471c82d5df0_base ::
    Int32 -> Ptr Void -> IO Int32
 -> IO (FunPtr (Int32 -> Ptr Void -> IO Int32))
-- __unique:__ @toProcessor_fn_t_Aux@
hs_bindgen_d4e16471c82d5df0 :: Processor_fn_t_Aux ->
                               IO (FunPtr Processor_fn_t_Aux)
-- __unique:__ @toProcessor_fn_t_Aux@
hs_bindgen_d4e16471c82d5df0 = \fun_0 -> fmap castFunPtrFromFFIType (hs_bindgen_d4e16471c82d5df0_base (toFFIType fun_0))
foreign import ccall safe "dynamic" hs_bindgen_0d4b3d0461629423_base ::
    FunPtr (Int32 -> Ptr Void -> IO Int32)
 -> Int32
 -> Ptr Void
 -> IO Int32
-- __unique:__ @fromProcessor_fn_t_Aux@
hs_bindgen_0d4b3d0461629423 :: FunPtr Processor_fn_t_Aux ->
                               Processor_fn_t_Aux
-- __unique:__ @fromProcessor_fn_t_Aux@
hs_bindgen_0d4b3d0461629423 = \funPtr_0 -> fromFFIType (hs_bindgen_0d4b3d0461629423_base (castFunPtrToFFIType funPtr_0))
instance ToFunPtr Processor_fn_t_Aux
    where toFunPtr = hs_bindgen_d4e16471c82d5df0
instance FromFunPtr Processor_fn_t_Aux
    where fromFunPtr = hs_bindgen_0d4b3d0461629423
instance TyEq ty
              (CFieldType Processor_fn_t_Aux "unwrapProcessor_fn_t_Aux") =>
         HasField "unwrapProcessor_fn_t_Aux"
                  (Ptr Processor_fn_t_Aux)
                  (Ptr ty)
    where getField = fromPtr (Proxy @"unwrapProcessor_fn_t_Aux")
instance HasCField Processor_fn_t_Aux "unwrapProcessor_fn_t_Aux"
    where type CFieldType Processor_fn_t_Aux
                          "unwrapProcessor_fn_t_Aux" = CInt -> Ptr Void -> IO CInt
          offset# = \_ -> \_ -> 0
{-|

  > processor_fn_t

  Function pointer typedef

  [__@input@ /(input)/__]: Input value

  [__@context@ /(input)/__]: Context pointer

  __returns:__ Processed value

__C declaration:__ @processor_fn_t@

__defined at:__ @documentation\/doxygen_docs.h 317:15@

__exported by:__ @documentation\/doxygen_docs.h@
-}
newtype Processor_fn_t
    = Processor_fn_t {unwrapProcessor_fn_t :: (FunPtr Processor_fn_t_Aux)}
      {- ^

         > processor_fn_t

         Function pointer typedef

         [__@input@ /(input)/__]: Input value

         [__@context@ /(input)/__]: Context pointer

         __returns:__ Processed value

      __C declaration:__ @processor_fn_t@

      __defined at:__ @documentation\/doxygen_docs.h 317:15@

      __exported by:__ @documentation\/doxygen_docs.h@
      -}
    deriving stock (Eq, Ord, Show)
    deriving newtype (StaticSize,
                      ReadRaw,
                      WriteRaw,
                      Storable,
                      HasFFIType)
instance TyEq ty
              (CFieldType Processor_fn_t "unwrapProcessor_fn_t") =>
         HasField "unwrapProcessor_fn_t" (Ptr Processor_fn_t) (Ptr ty)
    where getField = fromPtr (Proxy @"unwrapProcessor_fn_t")
instance HasCField Processor_fn_t "unwrapProcessor_fn_t"
    where type CFieldType Processor_fn_t
                          "unwrapProcessor_fn_t" = FunPtr Processor_fn_t_Aux
          offset# = \_ -> \_ -> 0
{-|

  > filename_t

  Array typedef with size

__C declaration:__ @filename_t@

__defined at:__ @documentation\/doxygen_docs.h 323:14@

__exported by:__ @documentation\/doxygen_docs.h@
-}
newtype Filename_t
    = Filename_t {unwrapFilename_t :: (ConstantArray 256 CChar)}
      {- ^

         > filename_t

         Array typedef with size

      __C declaration:__ @filename_t@

      __defined at:__ @documentation\/doxygen_docs.h 323:14@

      __exported by:__ @documentation\/doxygen_docs.h@
      -}
    deriving stock (Eq, Show)
    deriving newtype (StaticSize, ReadRaw, WriteRaw, Storable)
instance TyEq ty (CFieldType Filename_t "unwrapFilename_t") =>
         HasField "unwrapFilename_t" (Ptr Filename_t) (Ptr ty)
    where getField = fromPtr (Proxy @"unwrapFilename_t")
instance HasCField Filename_t "unwrapFilename_t"
    where type CFieldType Filename_t
                          "unwrapFilename_t" = ConstantArray 256 CChar
          offset# = \_ -> \_ -> 0
{-|

  Function with flexible array member

  [__@count@ /(input)/__]: Number of elements

  __returns:__ Allocated structure

__C declaration:__ @struct flexible_array@

__defined at:__ @documentation\/doxygen_docs.h 360:8@

__exported by:__ @documentation\/doxygen_docs.h@
-}
data Flexible_array_Aux
    = Flexible_array {flexible_array_count :: HsBindgen.Runtime.LibC.CSize
                      {- ^

                         Number of elements

                      __C declaration:__ @count@

                      __defined at:__ @documentation\/doxygen_docs.h 361:12@

                      __exported by:__ @documentation\/doxygen_docs.h@
                      -}}
    deriving stock (Eq, Show)
instance StaticSize Flexible_array_Aux
    where staticSizeOf = \_ -> 8 :: Int
          staticAlignment = \_ -> 8 :: Int
instance ReadRaw Flexible_array_Aux
    where readRaw = \ptr_0 -> pure Flexible_array <*> readRaw (Proxy @"flexible_array_count") ptr_0
instance WriteRaw Flexible_array_Aux
    where writeRaw = \ptr_0 -> \s_1 -> case s_1 of
                                       Flexible_array flexible_array_count_2 -> writeRaw (Proxy @"flexible_array_count") ptr_0 flexible_array_count_2
deriving via (EquivStorable Flexible_array_Aux) instance Storable Flexible_array_Aux
instance HasCField Flexible_array_Aux "flexible_array_count"
    where type CFieldType Flexible_array_Aux
                          "flexible_array_count" = HsBindgen.Runtime.LibC.CSize
          offset# = \_ -> \_ -> 0
instance TyEq ty
              (CFieldType Flexible_array_Aux "flexible_array_count") =>
         HasField "flexible_array_count" (Ptr Flexible_array_Aux) (Ptr ty)
    where getField = fromPtr (Proxy @"flexible_array_count")
instance Offset CInt Flexible_array_Aux
    where offset = \_ty_0 -> 8
type Flexible_array = WithFlam CInt Flexible_array_Aux
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_process_data@
foreign import ccall safe "hs_bindgen_7eada9f65d982412" hs_bindgen_7eada9f65d982412_base ::
    Ptr Void
 -> Ptr Void
 -> Ptr Void
 -> IO Int32
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_process_data@
hs_bindgen_7eada9f65d982412 :: PtrConst HsBindgen.Runtime.LibC.Word8 ->
                               Ptr HsBindgen.Runtime.LibC.Word8 ->
                               Ptr HsBindgen.Runtime.LibC.CSize -> IO CInt
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_process_data@
hs_bindgen_7eada9f65d982412 = fromFFIType hs_bindgen_7eada9f65d982412_base
{-|

  Function with detailed parameter documentation

  This function shows different parameter directions and types.

  [__@input_data@ /(input)/__]: Input data buffer

  [__@output_data@ /(output)/__]: Output data buffer

  [__@size@ /(input,output)/__]: Size of data, updated on return

  __returns:__ Status code (0 = success, -1 = error)

__C declaration:__ @process_data@

__defined at:__ @documentation\/doxygen_docs.h 105:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
process_data :: PtrConst HsBindgen.Runtime.LibC.Word8 ->
                Ptr HsBindgen.Runtime.LibC.Word8 ->
                Ptr HsBindgen.Runtime.LibC.CSize -> IO CInt
{-|

  Function with detailed parameter documentation

  This function shows different parameter directions and types.

  [__@input_data@ /(input)/__]: Input data buffer

  [__@output_data@ /(output)/__]: Output data buffer

  [__@size@ /(input,output)/__]: Size of data, updated on return

  __returns:__ Status code (0 = success, -1 = error)

__C declaration:__ @process_data@

__defined at:__ @documentation\/doxygen_docs.h 105:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
process_data = hs_bindgen_7eada9f65d982412
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_process_file@
foreign import ccall safe "hs_bindgen_fb85499c501da1a7" hs_bindgen_fb85499c501da1a7_base ::
    Ptr Void
 -> IO Word8
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_process_file@
hs_bindgen_fb85499c501da1a7 :: PtrConst CChar -> IO CBool
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_process_file@
hs_bindgen_fb85499c501da1a7 = fromFFIType hs_bindgen_fb85499c501da1a7_base
{-|

  Function with inline commands and formatting

  This function uses @inline@ @code@ formatting and __bold__ text. It also demonstrates /emphasized/ text.

  [__@filename@ /(input)/__]: The @char*@ filename to process

  __returns:__ @true@ if successful, @false@ otherwise

__C declaration:__ @process_file@

__defined at:__ @documentation\/doxygen_docs.h 116:6@

__exported by:__ @documentation\/doxygen_docs.h@
-}
process_file :: PtrConst CChar -> IO CBool
{-|

  Function with inline commands and formatting

  This function uses @inline@ @code@ formatting and __bold__ text. It also demonstrates /emphasized/ text.

  [__@filename@ /(input)/__]: The @char*@ filename to process

  __returns:__ @true@ if successful, @false@ otherwise

__C declaration:__ @process_file@

__defined at:__ @documentation\/doxygen_docs.h 116:6@

__exported by:__ @documentation\/doxygen_docs.h@
-}
process_file = hs_bindgen_fb85499c501da1a7
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_calculate_value@
foreign import ccall safe "hs_bindgen_a73fc7b108035c5c" hs_bindgen_a73fc7b108035c5c_base ::
    Int32
 -> Int32
 -> IO Int32
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_calculate_value@
hs_bindgen_a73fc7b108035c5c :: CInt -> CInt -> IO CInt
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_calculate_value@
hs_bindgen_a73fc7b108035c5c = fromFFIType hs_bindgen_a73fc7b108035c5c_base
{-|

  Function with verbatim code blocks

  Example usage:

  @
  int result = calculate_value(10, 20);
  printf("Result: %d@n", result);
  @

  [__@base@ /(input)/__]: Base value

  [__@multiplier@ /(input)/__]: Multiplier value

  __returns:__ Calculated result

__C declaration:__ @calculate_value@

__defined at:__ @documentation\/doxygen_docs.h 131:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
calculate_value :: CInt -> CInt -> IO CInt
{-|

  Function with verbatim code blocks

  Example usage:

  @
  int result = calculate_value(10, 20);
  printf("Result: %d@n", result);
  @

  [__@base@ /(input)/__]: Base value

  [__@multiplier@ /(input)/__]: Multiplier value

  __returns:__ Calculated result

__C declaration:__ @calculate_value@

__defined at:__ @documentation\/doxygen_docs.h 131:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
calculate_value = hs_bindgen_a73fc7b108035c5c
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_html_example@
foreign import ccall safe "hs_bindgen_9b7f6745401b4652" hs_bindgen_9b7f6745401b4652_base ::
    Int32
 -> IO Word8
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_html_example@
hs_bindgen_9b7f6745401b4652 :: CInt -> IO CBool
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_html_example@
hs_bindgen_9b7f6745401b4652 = fromFFIType hs_bindgen_9b7f6745401b4652_base
{-|

  Function with HTML formatting

  This function demonstrates HTML bold and italic text. It also shows HTML code formatting.

  Input Output 0 false 1 true

  [__@value@ /(input)/__]: Input value

  __returns:__ Boolean result

__C declaration:__ @html_example@

__defined at:__ @documentation\/doxygen_docs.h 148:6@

__exported by:__ @documentation\/doxygen_docs.h@
-}
html_example :: CInt -> IO CBool
{-|

  Function with HTML formatting

  This function demonstrates HTML bold and italic text. It also shows HTML code formatting.

  Input Output 0 false 1 true

  [__@value@ /(input)/__]: Input value

  __returns:__ Boolean result

__C declaration:__ @html_example@

__defined at:__ @documentation\/doxygen_docs.h 148:6@

__exported by:__ @documentation\/doxygen_docs.h@
-}
html_example = hs_bindgen_9b7f6745401b4652
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_list_example@
foreign import ccall safe "hs_bindgen_825411dc114e599b" hs_bindgen_825411dc114e599b_base ::
    Ptr Void
 -> Word64
 -> IO Word8
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_list_example@
hs_bindgen_825411dc114e599b :: Ptr (PtrConst CChar) ->
                               HsBindgen.Runtime.LibC.CSize -> IO CBool
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_list_example@
hs_bindgen_825411dc114e599b = fromFFIType hs_bindgen_825411dc114e599b_base
{-|

  Function with lists and special formatting

  This function demonstrates:

  * Bullet point lists

  * Nested list item 1

  * Nested list item 2

  * Multiple items

  * Nested formatting

  Numbered list:

  1. First @item@

  1. item

  2. Second __item__

  3. Third item

  Other numbered list:

  1. A

  2. B

  3. C

  [__@items@ /(input)/__]: Array of items

  [__@count@ /(input)/__]: Number of items

  __returns:__ Success status

__C declaration:__ @list_example@

__defined at:__ @documentation\/doxygen_docs.h 174:6@

__exported by:__ @documentation\/doxygen_docs.h@
-}
list_example :: Ptr (PtrConst CChar) ->
                HsBindgen.Runtime.LibC.CSize -> IO CBool
{-|

  Function with lists and special formatting

  This function demonstrates:

  * Bullet point lists

  * Nested list item 1

  * Nested list item 2

  * Multiple items

  * Nested formatting

  Numbered list:

  1. First @item@

  1. item

  2. Second __item__

  3. Third item

  Other numbered list:

  1. A

  2. B

  3. C

  [__@items@ /(input)/__]: Array of items

  [__@count@ /(input)/__]: Number of items

  __returns:__ Success status

__C declaration:__ @list_example@

__defined at:__ @documentation\/doxygen_docs.h 174:6@

__exported by:__ @documentation\/doxygen_docs.h@
-}
list_example = hs_bindgen_825411dc114e599b
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_dangerous_function@
foreign import ccall safe "hs_bindgen_17264dcff7e9b698" hs_bindgen_17264dcff7e9b698_base ::
    Ptr Void
 -> IO (Ptr Void)
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_dangerous_function@
hs_bindgen_17264dcff7e9b698 :: Ptr Void -> IO (Ptr Void)
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_dangerous_function@
hs_bindgen_17264dcff7e9b698 = fromFFIType hs_bindgen_17264dcff7e9b698_base
{-|

  Function with warnings and notes

  __/WARNING:/__ This function may cause side effects

  __Note:__ Use with caution in multithreaded environments

  __see:__ related_function() for similar functionality

  [__@ptr@ /(input)/__]: Pointer to data

  __returns:__ Modified pointer

__C declaration:__ @dangerous_function@

__defined at:__ @documentation\/doxygen_docs.h 186:7@

__exported by:__ @documentation\/doxygen_docs.h@
-}
dangerous_function :: Ptr Void -> IO (Ptr Void)
{-|

  Function with warnings and notes

  __/WARNING:/__ This function may cause side effects

  __Note:__ Use with caution in multithreaded environments

  __see:__ related_function() for similar functionality

  [__@ptr@ /(input)/__]: Pointer to data

  __returns:__ Modified pointer

__C declaration:__ @dangerous_function@

__defined at:__ @documentation\/doxygen_docs.h 186:7@

__exported by:__ @documentation\/doxygen_docs.h@
-}
dangerous_function = hs_bindgen_17264dcff7e9b698
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_detailed_return_codes@
foreign import ccall safe "hs_bindgen_c8ca619ec2e70d8d" hs_bindgen_c8ca619ec2e70d8d_base ::
    Ptr Void
 -> IO Int32
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_detailed_return_codes@
hs_bindgen_c8ca619ec2e70d8d :: PtrConst CChar -> IO CInt
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_detailed_return_codes@
hs_bindgen_c8ca619ec2e70d8d = fromFFIType hs_bindgen_c8ca619ec2e70d8d_base
{-|

  Function with return value details

  [__@input@ /(input)/__]: Input string

  __returns:__ 0 Success

  __returns:__ -1 Invalid input

  __returns:__ -2 Memory allocation failed

  __returns:__ -3 Processing error

__C declaration:__ @detailed_return_codes@

__defined at:__ @documentation\/doxygen_docs.h 197:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
detailed_return_codes :: PtrConst CChar -> IO CInt
{-|

  Function with return value details

  [__@input@ /(input)/__]: Input string

  __returns:__ 0 Success

  __returns:__ -1 Invalid input

  __returns:__ -2 Memory allocation failed

  __returns:__ -3 Processing error

__C declaration:__ @detailed_return_codes@

__defined at:__ @documentation\/doxygen_docs.h 197:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
detailed_return_codes = hs_bindgen_c8ca619ec2e70d8d
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_old_function@
foreign import ccall safe "hs_bindgen_25e1070e2ce10048" hs_bindgen_25e1070e2ce10048_base ::
    Int32
 -> IO Int32
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_old_function@
hs_bindgen_25e1070e2ce10048 :: CInt -> IO CInt
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_old_function@
hs_bindgen_25e1070e2ce10048 = fromFFIType hs_bindgen_25e1070e2ce10048_base
{-|

  Function with deprecated annotation

  __deprecated:__ Use new_function() instead

  [__@old_param@ /(input)/__]: Legacy parameter

  __returns:__ Legacy result

__C declaration:__ @old_function@

__defined at:__ @documentation\/doxygen_docs.h 206:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
old_function :: CInt -> IO CInt
{-|

  Function with deprecated annotation

  __deprecated:__ Use new_function() instead

  [__@old_param@ /(input)/__]: Legacy parameter

  __returns:__ Legacy result

__C declaration:__ @old_function@

__defined at:__ @documentation\/doxygen_docs.h 206:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
old_function = hs_bindgen_25e1070e2ce10048
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_versioned_function@
foreign import ccall safe "hs_bindgen_a9eeeb09808e71cc" hs_bindgen_a9eeeb09808e71cc_base ::
    Int32
 -> IO Int32
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_versioned_function@
hs_bindgen_a9eeeb09808e71cc :: CInt -> IO CInt
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_versioned_function@
hs_bindgen_a9eeeb09808e71cc = fromFFIType hs_bindgen_a9eeeb09808e71cc_base
{-|

  Function with version information

  @since:  1.0

  [__@data@ /(input)/__]: Input data

  __returns:__ Processed data

__C declaration:__ @versioned_function@

__defined at:__ @documentation\/doxygen_docs.h 216:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
versioned_function :: CInt -> IO CInt
{-|

  Function with version information

  @since:  1.0

  [__@data@ /(input)/__]: Input data

  __returns:__ Processed data

__C declaration:__ @versioned_function@

__defined at:__ @documentation\/doxygen_docs.h 216:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
versioned_function = hs_bindgen_a9eeeb09808e71cc
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_process_buffer@
foreign import ccall safe "hs_bindgen_0c0057f1700372a7" hs_bindgen_0c0057f1700372a7_base ::
    Ptr Void
 -> Word64
 -> IO Int32
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_process_buffer@
hs_bindgen_0c0057f1700372a7 :: Ptr (ConstantArray 64 CChar) ->
                               HsBindgen.Runtime.LibC.CSize -> IO CInt
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_process_buffer@
hs_bindgen_0c0057f1700372a7 = fromFFIType hs_bindgen_0c0057f1700372a7_base
{-|

  Static array parameter

  [__@buffer@ /(input)/__]: Buffer with minimum size

  [__@size@ /(input)/__]: Actual buffer size

  __returns:__ Number of bytes written

__C declaration:__ @process_buffer@

__defined at:__ @documentation\/doxygen_docs.h 332:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
process_buffer :: Ptr (ConstantArray 64 CChar) ->
                  HsBindgen.Runtime.LibC.CSize -> IO CInt
{-|

  Static array parameter

  [__@buffer@ /(input)/__]: Buffer with minimum size

  [__@size@ /(input)/__]: Actual buffer size

  __returns:__ Number of bytes written

__C declaration:__ @process_buffer@

__defined at:__ @documentation\/doxygen_docs.h 332:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
process_buffer = hs_bindgen_0c0057f1700372a7
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_my_memcpy@
foreign import ccall safe "hs_bindgen_294db77671f95524" hs_bindgen_294db77671f95524_base ::
    Ptr Void
 -> Ptr Void
 -> Word64
 -> IO (Ptr Void)
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_my_memcpy@
hs_bindgen_294db77671f95524 :: Ptr Void ->
                               PtrConst Void -> HsBindgen.Runtime.LibC.CSize -> IO (Ptr Void)
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_my_memcpy@
hs_bindgen_294db77671f95524 = fromFFIType hs_bindgen_294db77671f95524_base
{-|

  Function with restrict pointers

  [__@dest@ /(input)/__]: Destination buffer (restrict)

  [__@src@ /(input)/__]: Source buffer (restrict)

  [__@n@ /(input)/__]: Number of bytes

  __returns:__ Destination pointer

__C declaration:__ @my_memcpy@

__defined at:__ @documentation\/doxygen_docs.h 342:7@

__exported by:__ @documentation\/doxygen_docs.h@
-}
my_memcpy :: Ptr Void ->
             PtrConst Void -> HsBindgen.Runtime.LibC.CSize -> IO (Ptr Void)
{-|

  Function with restrict pointers

  [__@dest@ /(input)/__]: Destination buffer (restrict)

  [__@src@ /(input)/__]: Source buffer (restrict)

  [__@n@ /(input)/__]: Number of bytes

  __returns:__ Destination pointer

__C declaration:__ @my_memcpy@

__defined at:__ @documentation\/doxygen_docs.h 342:7@

__exported by:__ @documentation\/doxygen_docs.h@
-}
my_memcpy = hs_bindgen_294db77671f95524
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_double_value@
foreign import ccall safe "hs_bindgen_f5bc63a9952c2618" hs_bindgen_f5bc63a9952c2618_base ::
    Int32
 -> IO Int32
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_double_value@
hs_bindgen_f5bc63a9952c2618 :: CInt -> IO CInt
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_double_value@
hs_bindgen_f5bc63a9952c2618 = fromFFIType hs_bindgen_f5bc63a9952c2618_base
{-|

  Inline function

  [__@x@ /(input)/__]: Input value

  __returns:__ Doubled value

__C declaration:__ @double_value@

__defined at:__ @documentation\/doxygen_docs.h 350:19@

__exported by:__ @documentation\/doxygen_docs.h@
-}
double_value :: CInt -> IO CInt
{-|

  Inline function

  [__@x@ /(input)/__]: Input value

  __returns:__ Doubled value

__C declaration:__ @double_value@

__defined at:__ @documentation\/doxygen_docs.h 350:19@

__exported by:__ @documentation\/doxygen_docs.h@
-}
double_value = hs_bindgen_f5bc63a9952c2618
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_complex_function@
foreign import ccall safe "hs_bindgen_c4e7e99dba20204d" hs_bindgen_c4e7e99dba20204d_base ::
    Ptr Void
 -> Ptr Void
 -> Word64
 -> IO Int32
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_complex_function@
hs_bindgen_c4e7e99dba20204d :: Ptr Config_t ->
                               PtrConst HsBindgen.Runtime.LibC.Word8 ->
                               HsBindgen.Runtime.LibC.CSize -> IO Status_code_t
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_complex_function@
hs_bindgen_c4e7e99dba20204d = fromFFIType hs_bindgen_c4e7e99dba20204d_base
{-|

  Function with complex documentation

  This function demonstrates multiple documentation features:

  __Description:__

  Performs complex data processing with multiple steps.

  __Algorithm:__

  10. Validate input parameters

  200. Allocate temporary buffers

  3000. Process data in chunks

  41235. Clean up resources

  __Algorithm2:__

  * Validate input parameters

  * Allocate temporary buffers

  * Process data in chunks

  * Clean up resources

  __Example:__

  @
  config_t cfg = {
  .id = 1,
  .name = "test",
  .flags = 0,
  .callback = my_callback,
  .user_data = NULL
  };

  status_code_t result = complex_function(&cfg, data, size);
  if (result != STATUS_OK) {
  handle_error(result);
  }
  @

  [__@config@ /(input)/__]: Configuration structure (see 'Config_t' )

  [__@data@ /(input)/__]: Input data buffer

  [__@size@ /(input)/__]: Size of input data

  __returns:__ Status code indicating success or failure

  __pre condition:__ config must not be NULL

  __pre condition:__ data must not be NULL if size > 0

  __post condition:__ Output data is written to config->user_data

  __/WARNING:/__ May return NULL if memory allocation fails

  __/WARNING:/__ Sets errno to EINVAL if parameters are invalid

__C declaration:__ @complex_function@

__defined at:__ @documentation\/doxygen_docs.h 423:15@

__exported by:__ @documentation\/doxygen_docs.h@
-}
complex_function :: Ptr Config_t ->
                    PtrConst HsBindgen.Runtime.LibC.Word8 ->
                    HsBindgen.Runtime.LibC.CSize -> IO Status_code_t
{-|

  Function with complex documentation

  This function demonstrates multiple documentation features:

  __Description:__

  Performs complex data processing with multiple steps.

  __Algorithm:__

  10. Validate input parameters

  200. Allocate temporary buffers

  3000. Process data in chunks

  41235. Clean up resources

  __Algorithm2:__

  * Validate input parameters

  * Allocate temporary buffers

  * Process data in chunks

  * Clean up resources

  __Example:__

  @
  config_t cfg = {
  .id = 1,
  .name = "test",
  .flags = 0,
  .callback = my_callback,
  .user_data = NULL
  };

  status_code_t result = complex_function(&cfg, data, size);
  if (result != STATUS_OK) {
  handle_error(result);
  }
  @

  [__@config@ /(input)/__]: Configuration structure (see 'Config_t' )

  [__@data@ /(input)/__]: Input data buffer

  [__@size@ /(input)/__]: Size of input data

  __returns:__ Status code indicating success or failure

  __pre condition:__ config must not be NULL

  __pre condition:__ data must not be NULL if size > 0

  __post condition:__ Output data is written to config->user_data

  __/WARNING:/__ May return NULL if memory allocation fails

  __/WARNING:/__ Sets errno to EINVAL if parameters are invalid

__C declaration:__ @complex_function@

__defined at:__ @documentation\/doxygen_docs.h 423:15@

__exported by:__ @documentation\/doxygen_docs.h@
-}
complex_function = hs_bindgen_c4e7e99dba20204d
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_hash@
foreign import ccall safe "hs_bindgen_935f2aead358d9ef" hs_bindgen_935f2aead358d9ef_base ::
    Ptr Void
 -> IO Int32
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_hash@
hs_bindgen_935f2aead358d9ef :: Ptr CChar -> IO CInt
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_hash@
hs_bindgen_935f2aead358d9ef = fromFFIType hs_bindgen_935f2aead358d9ef_base
{-| __C declaration:__ @hash@

    __defined at:__ @documentation\/doxygen_docs.h 427:5@

    __exported by:__ @documentation\/doxygen_docs.h@
-}
hash :: Ptr CChar -> IO CInt
{-| __C declaration:__ @hash@

    __defined at:__ @documentation\/doxygen_docs.h 427:5@

    __exported by:__ @documentation\/doxygen_docs.h@
-}
hash = hs_bindgen_935f2aead358d9ef
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_square@
foreign import ccall safe "hs_bindgen_39fef54c23d4e1ee" hs_bindgen_39fef54c23d4e1ee_base ::
    Int32
 -> Int32
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_square@
hs_bindgen_39fef54c23d4e1ee :: CInt -> CInt
-- __unique:__ @test_documentationdoxygen_docs_Example_Safe_square@
hs_bindgen_39fef54c23d4e1ee = fromFFIType hs_bindgen_39fef54c23d4e1ee_base
{-| __C declaration:__ @square@

    __defined at:__ @documentation\/doxygen_docs.h 429:5@

    __exported by:__ @documentation\/doxygen_docs.h@
-}
square :: CInt -> CInt
{-| __C declaration:__ @square@

    __defined at:__ @documentation\/doxygen_docs.h 429:5@

    __exported by:__ @documentation\/doxygen_docs.h@
-}
square = hs_bindgen_39fef54c23d4e1ee
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_process_data@
foreign import ccall unsafe "hs_bindgen_e6085a910ba41ecb" hs_bindgen_e6085a910ba41ecb_base ::
    Ptr Void
 -> Ptr Void
 -> Ptr Void
 -> IO Int32
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_process_data@
hs_bindgen_e6085a910ba41ecb :: PtrConst HsBindgen.Runtime.LibC.Word8 ->
                               Ptr HsBindgen.Runtime.LibC.Word8 ->
                               Ptr HsBindgen.Runtime.LibC.CSize -> IO CInt
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_process_data@
hs_bindgen_e6085a910ba41ecb = fromFFIType hs_bindgen_e6085a910ba41ecb_base
{-|

  Function with detailed parameter documentation

  This function shows different parameter directions and types.

  [__@input_data@ /(input)/__]: Input data buffer

  [__@output_data@ /(output)/__]: Output data buffer

  [__@size@ /(input,output)/__]: Size of data, updated on return

  __returns:__ Status code (0 = success, -1 = error)

__C declaration:__ @process_data@

__defined at:__ @documentation\/doxygen_docs.h 105:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
process_data :: PtrConst HsBindgen.Runtime.LibC.Word8 ->
                Ptr HsBindgen.Runtime.LibC.Word8 ->
                Ptr HsBindgen.Runtime.LibC.CSize -> IO CInt
{-|

  Function with detailed parameter documentation

  This function shows different parameter directions and types.

  [__@input_data@ /(input)/__]: Input data buffer

  [__@output_data@ /(output)/__]: Output data buffer

  [__@size@ /(input,output)/__]: Size of data, updated on return

  __returns:__ Status code (0 = success, -1 = error)

__C declaration:__ @process_data@

__defined at:__ @documentation\/doxygen_docs.h 105:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
process_data = hs_bindgen_e6085a910ba41ecb
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_process_file@
foreign import ccall unsafe "hs_bindgen_c27e893aea0b0a77" hs_bindgen_c27e893aea0b0a77_base ::
    Ptr Void
 -> IO Word8
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_process_file@
hs_bindgen_c27e893aea0b0a77 :: PtrConst CChar -> IO CBool
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_process_file@
hs_bindgen_c27e893aea0b0a77 = fromFFIType hs_bindgen_c27e893aea0b0a77_base
{-|

  Function with inline commands and formatting

  This function uses @inline@ @code@ formatting and __bold__ text. It also demonstrates /emphasized/ text.

  [__@filename@ /(input)/__]: The @char*@ filename to process

  __returns:__ @true@ if successful, @false@ otherwise

__C declaration:__ @process_file@

__defined at:__ @documentation\/doxygen_docs.h 116:6@

__exported by:__ @documentation\/doxygen_docs.h@
-}
process_file :: PtrConst CChar -> IO CBool
{-|

  Function with inline commands and formatting

  This function uses @inline@ @code@ formatting and __bold__ text. It also demonstrates /emphasized/ text.

  [__@filename@ /(input)/__]: The @char*@ filename to process

  __returns:__ @true@ if successful, @false@ otherwise

__C declaration:__ @process_file@

__defined at:__ @documentation\/doxygen_docs.h 116:6@

__exported by:__ @documentation\/doxygen_docs.h@
-}
process_file = hs_bindgen_c27e893aea0b0a77
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_calculate_value@
foreign import ccall unsafe "hs_bindgen_bc1b0e25a72f4ec0" hs_bindgen_bc1b0e25a72f4ec0_base ::
    Int32
 -> Int32
 -> IO Int32
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_calculate_value@
hs_bindgen_bc1b0e25a72f4ec0 :: CInt -> CInt -> IO CInt
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_calculate_value@
hs_bindgen_bc1b0e25a72f4ec0 = fromFFIType hs_bindgen_bc1b0e25a72f4ec0_base
{-|

  Function with verbatim code blocks

  Example usage:

  @
  int result = calculate_value(10, 20);
  printf("Result: %d@n", result);
  @

  [__@base@ /(input)/__]: Base value

  [__@multiplier@ /(input)/__]: Multiplier value

  __returns:__ Calculated result

__C declaration:__ @calculate_value@

__defined at:__ @documentation\/doxygen_docs.h 131:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
calculate_value :: CInt -> CInt -> IO CInt
{-|

  Function with verbatim code blocks

  Example usage:

  @
  int result = calculate_value(10, 20);
  printf("Result: %d@n", result);
  @

  [__@base@ /(input)/__]: Base value

  [__@multiplier@ /(input)/__]: Multiplier value

  __returns:__ Calculated result

__C declaration:__ @calculate_value@

__defined at:__ @documentation\/doxygen_docs.h 131:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
calculate_value = hs_bindgen_bc1b0e25a72f4ec0
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_html_example@
foreign import ccall unsafe "hs_bindgen_09abc3cb74562964" hs_bindgen_09abc3cb74562964_base ::
    Int32
 -> IO Word8
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_html_example@
hs_bindgen_09abc3cb74562964 :: CInt -> IO CBool
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_html_example@
hs_bindgen_09abc3cb74562964 = fromFFIType hs_bindgen_09abc3cb74562964_base
{-|

  Function with HTML formatting

  This function demonstrates HTML bold and italic text. It also shows HTML code formatting.

  Input Output 0 false 1 true

  [__@value@ /(input)/__]: Input value

  __returns:__ Boolean result

__C declaration:__ @html_example@

__defined at:__ @documentation\/doxygen_docs.h 148:6@

__exported by:__ @documentation\/doxygen_docs.h@
-}
html_example :: CInt -> IO CBool
{-|

  Function with HTML formatting

  This function demonstrates HTML bold and italic text. It also shows HTML code formatting.

  Input Output 0 false 1 true

  [__@value@ /(input)/__]: Input value

  __returns:__ Boolean result

__C declaration:__ @html_example@

__defined at:__ @documentation\/doxygen_docs.h 148:6@

__exported by:__ @documentation\/doxygen_docs.h@
-}
html_example = hs_bindgen_09abc3cb74562964
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_list_example@
foreign import ccall unsafe "hs_bindgen_47cba1a95d265f84" hs_bindgen_47cba1a95d265f84_base ::
    Ptr Void
 -> Word64
 -> IO Word8
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_list_example@
hs_bindgen_47cba1a95d265f84 :: Ptr (PtrConst CChar) ->
                               HsBindgen.Runtime.LibC.CSize -> IO CBool
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_list_example@
hs_bindgen_47cba1a95d265f84 = fromFFIType hs_bindgen_47cba1a95d265f84_base
{-|

  Function with lists and special formatting

  This function demonstrates:

  * Bullet point lists

  * Nested list item 1

  * Nested list item 2

  * Multiple items

  * Nested formatting

  Numbered list:

  1. First @item@

  1. item

  2. Second __item__

  3. Third item

  Other numbered list:

  1. A

  2. B

  3. C

  [__@items@ /(input)/__]: Array of items

  [__@count@ /(input)/__]: Number of items

  __returns:__ Success status

__C declaration:__ @list_example@

__defined at:__ @documentation\/doxygen_docs.h 174:6@

__exported by:__ @documentation\/doxygen_docs.h@
-}
list_example :: Ptr (PtrConst CChar) ->
                HsBindgen.Runtime.LibC.CSize -> IO CBool
{-|

  Function with lists and special formatting

  This function demonstrates:

  * Bullet point lists

  * Nested list item 1

  * Nested list item 2

  * Multiple items

  * Nested formatting

  Numbered list:

  1. First @item@

  1. item

  2. Second __item__

  3. Third item

  Other numbered list:

  1. A

  2. B

  3. C

  [__@items@ /(input)/__]: Array of items

  [__@count@ /(input)/__]: Number of items

  __returns:__ Success status

__C declaration:__ @list_example@

__defined at:__ @documentation\/doxygen_docs.h 174:6@

__exported by:__ @documentation\/doxygen_docs.h@
-}
list_example = hs_bindgen_47cba1a95d265f84
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_dangerous_function@
foreign import ccall unsafe "hs_bindgen_e065fc013e4eccd6" hs_bindgen_e065fc013e4eccd6_base ::
    Ptr Void
 -> IO (Ptr Void)
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_dangerous_function@
hs_bindgen_e065fc013e4eccd6 :: Ptr Void -> IO (Ptr Void)
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_dangerous_function@
hs_bindgen_e065fc013e4eccd6 = fromFFIType hs_bindgen_e065fc013e4eccd6_base
{-|

  Function with warnings and notes

  __/WARNING:/__ This function may cause side effects

  __Note:__ Use with caution in multithreaded environments

  __see:__ related_function() for similar functionality

  [__@ptr@ /(input)/__]: Pointer to data

  __returns:__ Modified pointer

__C declaration:__ @dangerous_function@

__defined at:__ @documentation\/doxygen_docs.h 186:7@

__exported by:__ @documentation\/doxygen_docs.h@
-}
dangerous_function :: Ptr Void -> IO (Ptr Void)
{-|

  Function with warnings and notes

  __/WARNING:/__ This function may cause side effects

  __Note:__ Use with caution in multithreaded environments

  __see:__ related_function() for similar functionality

  [__@ptr@ /(input)/__]: Pointer to data

  __returns:__ Modified pointer

__C declaration:__ @dangerous_function@

__defined at:__ @documentation\/doxygen_docs.h 186:7@

__exported by:__ @documentation\/doxygen_docs.h@
-}
dangerous_function = hs_bindgen_e065fc013e4eccd6
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_detailed_return_codes@
foreign import ccall unsafe "hs_bindgen_bc4f7e24b2ad4ace" hs_bindgen_bc4f7e24b2ad4ace_base ::
    Ptr Void
 -> IO Int32
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_detailed_return_codes@
hs_bindgen_bc4f7e24b2ad4ace :: PtrConst CChar -> IO CInt
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_detailed_return_codes@
hs_bindgen_bc4f7e24b2ad4ace = fromFFIType hs_bindgen_bc4f7e24b2ad4ace_base
{-|

  Function with return value details

  [__@input@ /(input)/__]: Input string

  __returns:__ 0 Success

  __returns:__ -1 Invalid input

  __returns:__ -2 Memory allocation failed

  __returns:__ -3 Processing error

__C declaration:__ @detailed_return_codes@

__defined at:__ @documentation\/doxygen_docs.h 197:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
detailed_return_codes :: PtrConst CChar -> IO CInt
{-|

  Function with return value details

  [__@input@ /(input)/__]: Input string

  __returns:__ 0 Success

  __returns:__ -1 Invalid input

  __returns:__ -2 Memory allocation failed

  __returns:__ -3 Processing error

__C declaration:__ @detailed_return_codes@

__defined at:__ @documentation\/doxygen_docs.h 197:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
detailed_return_codes = hs_bindgen_bc4f7e24b2ad4ace
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_old_function@
foreign import ccall unsafe "hs_bindgen_8deec146389ae8b3" hs_bindgen_8deec146389ae8b3_base ::
    Int32
 -> IO Int32
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_old_function@
hs_bindgen_8deec146389ae8b3 :: CInt -> IO CInt
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_old_function@
hs_bindgen_8deec146389ae8b3 = fromFFIType hs_bindgen_8deec146389ae8b3_base
{-|

  Function with deprecated annotation

  __deprecated:__ Use new_function() instead

  [__@old_param@ /(input)/__]: Legacy parameter

  __returns:__ Legacy result

__C declaration:__ @old_function@

__defined at:__ @documentation\/doxygen_docs.h 206:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
old_function :: CInt -> IO CInt
{-|

  Function with deprecated annotation

  __deprecated:__ Use new_function() instead

  [__@old_param@ /(input)/__]: Legacy parameter

  __returns:__ Legacy result

__C declaration:__ @old_function@

__defined at:__ @documentation\/doxygen_docs.h 206:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
old_function = hs_bindgen_8deec146389ae8b3
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_versioned_function@
foreign import ccall unsafe "hs_bindgen_da2dcc1473935665" hs_bindgen_da2dcc1473935665_base ::
    Int32
 -> IO Int32
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_versioned_function@
hs_bindgen_da2dcc1473935665 :: CInt -> IO CInt
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_versioned_function@
hs_bindgen_da2dcc1473935665 = fromFFIType hs_bindgen_da2dcc1473935665_base
{-|

  Function with version information

  @since:  1.0

  [__@data@ /(input)/__]: Input data

  __returns:__ Processed data

__C declaration:__ @versioned_function@

__defined at:__ @documentation\/doxygen_docs.h 216:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
versioned_function :: CInt -> IO CInt
{-|

  Function with version information

  @since:  1.0

  [__@data@ /(input)/__]: Input data

  __returns:__ Processed data

__C declaration:__ @versioned_function@

__defined at:__ @documentation\/doxygen_docs.h 216:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
versioned_function = hs_bindgen_da2dcc1473935665
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_process_buffer@
foreign import ccall unsafe "hs_bindgen_97c1191917e6eece" hs_bindgen_97c1191917e6eece_base ::
    Ptr Void
 -> Word64
 -> IO Int32
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_process_buffer@
hs_bindgen_97c1191917e6eece :: Ptr (ConstantArray 64 CChar) ->
                               HsBindgen.Runtime.LibC.CSize -> IO CInt
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_process_buffer@
hs_bindgen_97c1191917e6eece = fromFFIType hs_bindgen_97c1191917e6eece_base
{-|

  Static array parameter

  [__@buffer@ /(input)/__]: Buffer with minimum size

  [__@size@ /(input)/__]: Actual buffer size

  __returns:__ Number of bytes written

__C declaration:__ @process_buffer@

__defined at:__ @documentation\/doxygen_docs.h 332:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
process_buffer :: Ptr (ConstantArray 64 CChar) ->
                  HsBindgen.Runtime.LibC.CSize -> IO CInt
{-|

  Static array parameter

  [__@buffer@ /(input)/__]: Buffer with minimum size

  [__@size@ /(input)/__]: Actual buffer size

  __returns:__ Number of bytes written

__C declaration:__ @process_buffer@

__defined at:__ @documentation\/doxygen_docs.h 332:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
process_buffer = hs_bindgen_97c1191917e6eece
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_my_memcpy@
foreign import ccall unsafe "hs_bindgen_58253bb560dc3eb3" hs_bindgen_58253bb560dc3eb3_base ::
    Ptr Void
 -> Ptr Void
 -> Word64
 -> IO (Ptr Void)
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_my_memcpy@
hs_bindgen_58253bb560dc3eb3 :: Ptr Void ->
                               PtrConst Void -> HsBindgen.Runtime.LibC.CSize -> IO (Ptr Void)
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_my_memcpy@
hs_bindgen_58253bb560dc3eb3 = fromFFIType hs_bindgen_58253bb560dc3eb3_base
{-|

  Function with restrict pointers

  [__@dest@ /(input)/__]: Destination buffer (restrict)

  [__@src@ /(input)/__]: Source buffer (restrict)

  [__@n@ /(input)/__]: Number of bytes

  __returns:__ Destination pointer

__C declaration:__ @my_memcpy@

__defined at:__ @documentation\/doxygen_docs.h 342:7@

__exported by:__ @documentation\/doxygen_docs.h@
-}
my_memcpy :: Ptr Void ->
             PtrConst Void -> HsBindgen.Runtime.LibC.CSize -> IO (Ptr Void)
{-|

  Function with restrict pointers

  [__@dest@ /(input)/__]: Destination buffer (restrict)

  [__@src@ /(input)/__]: Source buffer (restrict)

  [__@n@ /(input)/__]: Number of bytes

  __returns:__ Destination pointer

__C declaration:__ @my_memcpy@

__defined at:__ @documentation\/doxygen_docs.h 342:7@

__exported by:__ @documentation\/doxygen_docs.h@
-}
my_memcpy = hs_bindgen_58253bb560dc3eb3
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_double_value@
foreign import ccall unsafe "hs_bindgen_44dd19b16ee38e5b" hs_bindgen_44dd19b16ee38e5b_base ::
    Int32
 -> IO Int32
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_double_value@
hs_bindgen_44dd19b16ee38e5b :: CInt -> IO CInt
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_double_value@
hs_bindgen_44dd19b16ee38e5b = fromFFIType hs_bindgen_44dd19b16ee38e5b_base
{-|

  Inline function

  [__@x@ /(input)/__]: Input value

  __returns:__ Doubled value

__C declaration:__ @double_value@

__defined at:__ @documentation\/doxygen_docs.h 350:19@

__exported by:__ @documentation\/doxygen_docs.h@
-}
double_value :: CInt -> IO CInt
{-|

  Inline function

  [__@x@ /(input)/__]: Input value

  __returns:__ Doubled value

__C declaration:__ @double_value@

__defined at:__ @documentation\/doxygen_docs.h 350:19@

__exported by:__ @documentation\/doxygen_docs.h@
-}
double_value = hs_bindgen_44dd19b16ee38e5b
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_complex_function@
foreign import ccall unsafe "hs_bindgen_fd6fce7c8d8b2f79" hs_bindgen_fd6fce7c8d8b2f79_base ::
    Ptr Void
 -> Ptr Void
 -> Word64
 -> IO Int32
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_complex_function@
hs_bindgen_fd6fce7c8d8b2f79 :: Ptr Config_t ->
                               PtrConst HsBindgen.Runtime.LibC.Word8 ->
                               HsBindgen.Runtime.LibC.CSize -> IO Status_code_t
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_complex_function@
hs_bindgen_fd6fce7c8d8b2f79 = fromFFIType hs_bindgen_fd6fce7c8d8b2f79_base
{-|

  Function with complex documentation

  This function demonstrates multiple documentation features:

  __Description:__

  Performs complex data processing with multiple steps.

  __Algorithm:__

  10. Validate input parameters

  200. Allocate temporary buffers

  3000. Process data in chunks

  41235. Clean up resources

  __Algorithm2:__

  * Validate input parameters

  * Allocate temporary buffers

  * Process data in chunks

  * Clean up resources

  __Example:__

  @
  config_t cfg = {
  .id = 1,
  .name = "test",
  .flags = 0,
  .callback = my_callback,
  .user_data = NULL
  };

  status_code_t result = complex_function(&cfg, data, size);
  if (result != STATUS_OK) {
  handle_error(result);
  }
  @

  [__@config@ /(input)/__]: Configuration structure (see 'Config_t' )

  [__@data@ /(input)/__]: Input data buffer

  [__@size@ /(input)/__]: Size of input data

  __returns:__ Status code indicating success or failure

  __pre condition:__ config must not be NULL

  __pre condition:__ data must not be NULL if size > 0

  __post condition:__ Output data is written to config->user_data

  __/WARNING:/__ May return NULL if memory allocation fails

  __/WARNING:/__ Sets errno to EINVAL if parameters are invalid

__C declaration:__ @complex_function@

__defined at:__ @documentation\/doxygen_docs.h 423:15@

__exported by:__ @documentation\/doxygen_docs.h@
-}
complex_function :: Ptr Config_t ->
                    PtrConst HsBindgen.Runtime.LibC.Word8 ->
                    HsBindgen.Runtime.LibC.CSize -> IO Status_code_t
{-|

  Function with complex documentation

  This function demonstrates multiple documentation features:

  __Description:__

  Performs complex data processing with multiple steps.

  __Algorithm:__

  10. Validate input parameters

  200. Allocate temporary buffers

  3000. Process data in chunks

  41235. Clean up resources

  __Algorithm2:__

  * Validate input parameters

  * Allocate temporary buffers

  * Process data in chunks

  * Clean up resources

  __Example:__

  @
  config_t cfg = {
  .id = 1,
  .name = "test",
  .flags = 0,
  .callback = my_callback,
  .user_data = NULL
  };

  status_code_t result = complex_function(&cfg, data, size);
  if (result != STATUS_OK) {
  handle_error(result);
  }
  @

  [__@config@ /(input)/__]: Configuration structure (see 'Config_t' )

  [__@data@ /(input)/__]: Input data buffer

  [__@size@ /(input)/__]: Size of input data

  __returns:__ Status code indicating success or failure

  __pre condition:__ config must not be NULL

  __pre condition:__ data must not be NULL if size > 0

  __post condition:__ Output data is written to config->user_data

  __/WARNING:/__ May return NULL if memory allocation fails

  __/WARNING:/__ Sets errno to EINVAL if parameters are invalid

__C declaration:__ @complex_function@

__defined at:__ @documentation\/doxygen_docs.h 423:15@

__exported by:__ @documentation\/doxygen_docs.h@
-}
complex_function = hs_bindgen_fd6fce7c8d8b2f79
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_hash@
foreign import ccall unsafe "hs_bindgen_dd36c8b317ccfcc4" hs_bindgen_dd36c8b317ccfcc4_base ::
    Ptr Void
 -> IO Int32
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_hash@
hs_bindgen_dd36c8b317ccfcc4 :: Ptr CChar -> IO CInt
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_hash@
hs_bindgen_dd36c8b317ccfcc4 = fromFFIType hs_bindgen_dd36c8b317ccfcc4_base
{-| __C declaration:__ @hash@

    __defined at:__ @documentation\/doxygen_docs.h 427:5@

    __exported by:__ @documentation\/doxygen_docs.h@
-}
hash :: Ptr CChar -> IO CInt
{-| __C declaration:__ @hash@

    __defined at:__ @documentation\/doxygen_docs.h 427:5@

    __exported by:__ @documentation\/doxygen_docs.h@
-}
hash = hs_bindgen_dd36c8b317ccfcc4
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_square@
foreign import ccall unsafe "hs_bindgen_6875e30a7fe8d30a" hs_bindgen_6875e30a7fe8d30a_base ::
    Int32
 -> Int32
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_square@
hs_bindgen_6875e30a7fe8d30a :: CInt -> CInt
-- __unique:__ @test_documentationdoxygen_docs_Example_Unsafe_square@
hs_bindgen_6875e30a7fe8d30a = fromFFIType hs_bindgen_6875e30a7fe8d30a_base
{-| __C declaration:__ @square@

    __defined at:__ @documentation\/doxygen_docs.h 429:5@

    __exported by:__ @documentation\/doxygen_docs.h@
-}
square :: CInt -> CInt
{-| __C declaration:__ @square@

    __defined at:__ @documentation\/doxygen_docs.h 429:5@

    __exported by:__ @documentation\/doxygen_docs.h@
-}
square = hs_bindgen_6875e30a7fe8d30a
-- __unique:__ @test_documentationdoxygen_docs_Example_get_process_data@
foreign import ccall unsafe "hs_bindgen_4a5cd66a4f26f8d5" hs_bindgen_4a5cd66a4f26f8d5_base ::
    IO (FunPtr Void)
-- __unique:__ @test_documentationdoxygen_docs_Example_get_process_data@
hs_bindgen_4a5cd66a4f26f8d5 :: IO (FunPtr (PtrConst HsBindgen.Runtime.LibC.Word8 ->
                                           Ptr HsBindgen.Runtime.LibC.Word8 ->
                                           Ptr HsBindgen.Runtime.LibC.CSize -> IO CInt))
-- __unique:__ @test_documentationdoxygen_docs_Example_get_process_data@
hs_bindgen_4a5cd66a4f26f8d5 = fromFFIType hs_bindgen_4a5cd66a4f26f8d5_base
{-# NOINLINE process_data #-}
{-|

  Function with detailed parameter documentation

  This function shows different parameter directions and types.

  [__@input_data@ /(input)/__]: Input data buffer

  [__@output_data@ /(output)/__]: Output data buffer

  [__@size@ /(input,output)/__]: Size of data, updated on return

  __returns:__ Status code (0 = success, -1 = error)

__C declaration:__ @process_data@

__defined at:__ @documentation\/doxygen_docs.h 105:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
process_data :: FunPtr (PtrConst HsBindgen.Runtime.LibC.Word8 ->
                        Ptr HsBindgen.Runtime.LibC.Word8 ->
                        Ptr HsBindgen.Runtime.LibC.CSize -> IO CInt)
{-|

  Function with detailed parameter documentation

  This function shows different parameter directions and types.

  [__@input_data@ /(input)/__]: Input data buffer

  [__@output_data@ /(output)/__]: Output data buffer

  [__@size@ /(input,output)/__]: Size of data, updated on return

  __returns:__ Status code (0 = success, -1 = error)

__C declaration:__ @process_data@

__defined at:__ @documentation\/doxygen_docs.h 105:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
process_data = unsafePerformIO hs_bindgen_4a5cd66a4f26f8d5
-- __unique:__ @test_documentationdoxygen_docs_Example_get_process_file@
foreign import ccall unsafe "hs_bindgen_c8a059c65f18fea9" hs_bindgen_c8a059c65f18fea9_base ::
    IO (FunPtr Void)
-- __unique:__ @test_documentationdoxygen_docs_Example_get_process_file@
hs_bindgen_c8a059c65f18fea9 :: IO (FunPtr (PtrConst CChar ->
                                           IO CBool))
-- __unique:__ @test_documentationdoxygen_docs_Example_get_process_file@
hs_bindgen_c8a059c65f18fea9 = fromFFIType hs_bindgen_c8a059c65f18fea9_base
{-# NOINLINE process_file #-}
{-|

  Function with inline commands and formatting

  This function uses @inline@ @code@ formatting and __bold__ text. It also demonstrates /emphasized/ text.

  [__@filename@ /(input)/__]: The @char*@ filename to process

  __returns:__ @true@ if successful, @false@ otherwise

__C declaration:__ @process_file@

__defined at:__ @documentation\/doxygen_docs.h 116:6@

__exported by:__ @documentation\/doxygen_docs.h@
-}
process_file :: FunPtr (PtrConst CChar -> IO CBool)
{-|

  Function with inline commands and formatting

  This function uses @inline@ @code@ formatting and __bold__ text. It also demonstrates /emphasized/ text.

  [__@filename@ /(input)/__]: The @char*@ filename to process

  __returns:__ @true@ if successful, @false@ otherwise

__C declaration:__ @process_file@

__defined at:__ @documentation\/doxygen_docs.h 116:6@

__exported by:__ @documentation\/doxygen_docs.h@
-}
process_file = unsafePerformIO hs_bindgen_c8a059c65f18fea9
-- __unique:__ @test_documentationdoxygen_docs_Example_get_calculate_value@
foreign import ccall unsafe "hs_bindgen_5ab7e06724867ab3" hs_bindgen_5ab7e06724867ab3_base ::
    IO (FunPtr Void)
-- __unique:__ @test_documentationdoxygen_docs_Example_get_calculate_value@
hs_bindgen_5ab7e06724867ab3 :: IO (FunPtr (CInt ->
                                           CInt -> IO CInt))
-- __unique:__ @test_documentationdoxygen_docs_Example_get_calculate_value@
hs_bindgen_5ab7e06724867ab3 = fromFFIType hs_bindgen_5ab7e06724867ab3_base
{-# NOINLINE calculate_value #-}
{-|

  Function with verbatim code blocks

  Example usage:

  @
  int result = calculate_value(10, 20);
  printf("Result: %d@n", result);
  @

  [__@base@ /(input)/__]: Base value

  [__@multiplier@ /(input)/__]: Multiplier value

  __returns:__ Calculated result

__C declaration:__ @calculate_value@

__defined at:__ @documentation\/doxygen_docs.h 131:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
calculate_value :: FunPtr (CInt -> CInt -> IO CInt)
{-|

  Function with verbatim code blocks

  Example usage:

  @
  int result = calculate_value(10, 20);
  printf("Result: %d@n", result);
  @

  [__@base@ /(input)/__]: Base value

  [__@multiplier@ /(input)/__]: Multiplier value

  __returns:__ Calculated result

__C declaration:__ @calculate_value@

__defined at:__ @documentation\/doxygen_docs.h 131:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
calculate_value = unsafePerformIO hs_bindgen_5ab7e06724867ab3
-- __unique:__ @test_documentationdoxygen_docs_Example_get_html_example@
foreign import ccall unsafe "hs_bindgen_3f74fb834b0cd46b" hs_bindgen_3f74fb834b0cd46b_base ::
    IO (FunPtr Void)
-- __unique:__ @test_documentationdoxygen_docs_Example_get_html_example@
hs_bindgen_3f74fb834b0cd46b :: IO (FunPtr (CInt -> IO CBool))
-- __unique:__ @test_documentationdoxygen_docs_Example_get_html_example@
hs_bindgen_3f74fb834b0cd46b = fromFFIType hs_bindgen_3f74fb834b0cd46b_base
{-# NOINLINE html_example #-}
{-|

  Function with HTML formatting

  This function demonstrates HTML bold and italic text. It also shows HTML code formatting.

  Input Output 0 false 1 true

  [__@value@ /(input)/__]: Input value

  __returns:__ Boolean result

__C declaration:__ @html_example@

__defined at:__ @documentation\/doxygen_docs.h 148:6@

__exported by:__ @documentation\/doxygen_docs.h@
-}
html_example :: FunPtr (CInt -> IO CBool)
{-|

  Function with HTML formatting

  This function demonstrates HTML bold and italic text. It also shows HTML code formatting.

  Input Output 0 false 1 true

  [__@value@ /(input)/__]: Input value

  __returns:__ Boolean result

__C declaration:__ @html_example@

__defined at:__ @documentation\/doxygen_docs.h 148:6@

__exported by:__ @documentation\/doxygen_docs.h@
-}
html_example = unsafePerformIO hs_bindgen_3f74fb834b0cd46b
-- __unique:__ @test_documentationdoxygen_docs_Example_get_list_example@
foreign import ccall unsafe "hs_bindgen_2175b3c627db39cf" hs_bindgen_2175b3c627db39cf_base ::
    IO (FunPtr Void)
-- __unique:__ @test_documentationdoxygen_docs_Example_get_list_example@
hs_bindgen_2175b3c627db39cf :: IO (FunPtr (Ptr (PtrConst CChar) ->
                                           HsBindgen.Runtime.LibC.CSize -> IO CBool))
-- __unique:__ @test_documentationdoxygen_docs_Example_get_list_example@
hs_bindgen_2175b3c627db39cf = fromFFIType hs_bindgen_2175b3c627db39cf_base
{-# NOINLINE list_example #-}
{-|

  Function with lists and special formatting

  This function demonstrates:

  * Bullet point lists

  * Nested list item 1

  * Nested list item 2

  * Multiple items

  * Nested formatting

  Numbered list:

  1. First @item@

  1. item

  2. Second __item__

  3. Third item

  Other numbered list:

  1. A

  2. B

  3. C

  [__@items@ /(input)/__]: Array of items

  [__@count@ /(input)/__]: Number of items

  __returns:__ Success status

__C declaration:__ @list_example@

__defined at:__ @documentation\/doxygen_docs.h 174:6@

__exported by:__ @documentation\/doxygen_docs.h@
-}
list_example :: FunPtr (Ptr (PtrConst CChar) ->
                        HsBindgen.Runtime.LibC.CSize -> IO CBool)
{-|

  Function with lists and special formatting

  This function demonstrates:

  * Bullet point lists

  * Nested list item 1

  * Nested list item 2

  * Multiple items

  * Nested formatting

  Numbered list:

  1. First @item@

  1. item

  2. Second __item__

  3. Third item

  Other numbered list:

  1. A

  2. B

  3. C

  [__@items@ /(input)/__]: Array of items

  [__@count@ /(input)/__]: Number of items

  __returns:__ Success status

__C declaration:__ @list_example@

__defined at:__ @documentation\/doxygen_docs.h 174:6@

__exported by:__ @documentation\/doxygen_docs.h@
-}
list_example = unsafePerformIO hs_bindgen_2175b3c627db39cf
-- __unique:__ @test_documentationdoxygen_docs_Example_get_dangerous_function@
foreign import ccall unsafe "hs_bindgen_b7a4debd18827a19" hs_bindgen_b7a4debd18827a19_base ::
    IO (FunPtr Void)
-- __unique:__ @test_documentationdoxygen_docs_Example_get_dangerous_function@
hs_bindgen_b7a4debd18827a19 :: IO (FunPtr (Ptr Void ->
                                           IO (Ptr Void)))
-- __unique:__ @test_documentationdoxygen_docs_Example_get_dangerous_function@
hs_bindgen_b7a4debd18827a19 = fromFFIType hs_bindgen_b7a4debd18827a19_base
{-# NOINLINE dangerous_function #-}
{-|

  Function with warnings and notes

  __/WARNING:/__ This function may cause side effects

  __Note:__ Use with caution in multithreaded environments

  __see:__ related_function() for similar functionality

  [__@ptr@ /(input)/__]: Pointer to data

  __returns:__ Modified pointer

__C declaration:__ @dangerous_function@

__defined at:__ @documentation\/doxygen_docs.h 186:7@

__exported by:__ @documentation\/doxygen_docs.h@
-}
dangerous_function :: FunPtr (Ptr Void -> IO (Ptr Void))
{-|

  Function with warnings and notes

  __/WARNING:/__ This function may cause side effects

  __Note:__ Use with caution in multithreaded environments

  __see:__ related_function() for similar functionality

  [__@ptr@ /(input)/__]: Pointer to data

  __returns:__ Modified pointer

__C declaration:__ @dangerous_function@

__defined at:__ @documentation\/doxygen_docs.h 186:7@

__exported by:__ @documentation\/doxygen_docs.h@
-}
dangerous_function = unsafePerformIO hs_bindgen_b7a4debd18827a19
-- __unique:__ @test_documentationdoxygen_docs_Example_get_detailed_return_codes@
foreign import ccall unsafe "hs_bindgen_9700b22f82eedafe" hs_bindgen_9700b22f82eedafe_base ::
    IO (FunPtr Void)
-- __unique:__ @test_documentationdoxygen_docs_Example_get_detailed_return_codes@
hs_bindgen_9700b22f82eedafe :: IO (FunPtr (PtrConst CChar ->
                                           IO CInt))
-- __unique:__ @test_documentationdoxygen_docs_Example_get_detailed_return_codes@
hs_bindgen_9700b22f82eedafe = fromFFIType hs_bindgen_9700b22f82eedafe_base
{-# NOINLINE detailed_return_codes #-}
{-|

  Function with return value details

  [__@input@ /(input)/__]: Input string

  __returns:__ 0 Success

  __returns:__ -1 Invalid input

  __returns:__ -2 Memory allocation failed

  __returns:__ -3 Processing error

__C declaration:__ @detailed_return_codes@

__defined at:__ @documentation\/doxygen_docs.h 197:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
detailed_return_codes :: FunPtr (PtrConst CChar -> IO CInt)
{-|

  Function with return value details

  [__@input@ /(input)/__]: Input string

  __returns:__ 0 Success

  __returns:__ -1 Invalid input

  __returns:__ -2 Memory allocation failed

  __returns:__ -3 Processing error

__C declaration:__ @detailed_return_codes@

__defined at:__ @documentation\/doxygen_docs.h 197:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
detailed_return_codes = unsafePerformIO hs_bindgen_9700b22f82eedafe
-- __unique:__ @test_documentationdoxygen_docs_Example_get_old_function@
foreign import ccall unsafe "hs_bindgen_49e0d34a627c6c19" hs_bindgen_49e0d34a627c6c19_base ::
    IO (FunPtr Void)
-- __unique:__ @test_documentationdoxygen_docs_Example_get_old_function@
hs_bindgen_49e0d34a627c6c19 :: IO (FunPtr (CInt -> IO CInt))
-- __unique:__ @test_documentationdoxygen_docs_Example_get_old_function@
hs_bindgen_49e0d34a627c6c19 = fromFFIType hs_bindgen_49e0d34a627c6c19_base
{-# NOINLINE old_function #-}
{-|

  Function with deprecated annotation

  __deprecated:__ Use new_function() instead

  [__@old_param@ /(input)/__]: Legacy parameter

  __returns:__ Legacy result

__C declaration:__ @old_function@

__defined at:__ @documentation\/doxygen_docs.h 206:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
old_function :: FunPtr (CInt -> IO CInt)
{-|

  Function with deprecated annotation

  __deprecated:__ Use new_function() instead

  [__@old_param@ /(input)/__]: Legacy parameter

  __returns:__ Legacy result

__C declaration:__ @old_function@

__defined at:__ @documentation\/doxygen_docs.h 206:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
old_function = unsafePerformIO hs_bindgen_49e0d34a627c6c19
-- __unique:__ @test_documentationdoxygen_docs_Example_get_versioned_function@
foreign import ccall unsafe "hs_bindgen_180cd7537e40ce99" hs_bindgen_180cd7537e40ce99_base ::
    IO (FunPtr Void)
-- __unique:__ @test_documentationdoxygen_docs_Example_get_versioned_function@
hs_bindgen_180cd7537e40ce99 :: IO (FunPtr (CInt -> IO CInt))
-- __unique:__ @test_documentationdoxygen_docs_Example_get_versioned_function@
hs_bindgen_180cd7537e40ce99 = fromFFIType hs_bindgen_180cd7537e40ce99_base
{-# NOINLINE versioned_function #-}
{-|

  Function with version information

  @since:  1.0

  [__@data@ /(input)/__]: Input data

  __returns:__ Processed data

__C declaration:__ @versioned_function@

__defined at:__ @documentation\/doxygen_docs.h 216:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
versioned_function :: FunPtr (CInt -> IO CInt)
{-|

  Function with version information

  @since:  1.0

  [__@data@ /(input)/__]: Input data

  __returns:__ Processed data

__C declaration:__ @versioned_function@

__defined at:__ @documentation\/doxygen_docs.h 216:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
versioned_function = unsafePerformIO hs_bindgen_180cd7537e40ce99
-- __unique:__ @test_documentationdoxygen_docs_Example_get_process_buffer@
foreign import ccall unsafe "hs_bindgen_f4ccc6d90e8d3ebd" hs_bindgen_f4ccc6d90e8d3ebd_base ::
    IO (FunPtr Void)
-- __unique:__ @test_documentationdoxygen_docs_Example_get_process_buffer@
hs_bindgen_f4ccc6d90e8d3ebd :: IO (FunPtr (ConstantArray 64
                                                         CChar ->
                                           HsBindgen.Runtime.LibC.CSize -> IO CInt))
-- __unique:__ @test_documentationdoxygen_docs_Example_get_process_buffer@
hs_bindgen_f4ccc6d90e8d3ebd = fromFFIType hs_bindgen_f4ccc6d90e8d3ebd_base
{-# NOINLINE process_buffer #-}
{-|

  Static array parameter

  [__@buffer@ /(input)/__]: Buffer with minimum size

  [__@size@ /(input)/__]: Actual buffer size

  __returns:__ Number of bytes written

__C declaration:__ @process_buffer@

__defined at:__ @documentation\/doxygen_docs.h 332:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
process_buffer :: FunPtr (ConstantArray 64 CChar ->
                          HsBindgen.Runtime.LibC.CSize -> IO CInt)
{-|

  Static array parameter

  [__@buffer@ /(input)/__]: Buffer with minimum size

  [__@size@ /(input)/__]: Actual buffer size

  __returns:__ Number of bytes written

__C declaration:__ @process_buffer@

__defined at:__ @documentation\/doxygen_docs.h 332:5@

__exported by:__ @documentation\/doxygen_docs.h@
-}
process_buffer = unsafePerformIO hs_bindgen_f4ccc6d90e8d3ebd
-- __unique:__ @test_documentationdoxygen_docs_Example_get_my_memcpy@
foreign import ccall unsafe "hs_bindgen_6a74d376c901b531" hs_bindgen_6a74d376c901b531_base ::
    IO (FunPtr Void)
-- __unique:__ @test_documentationdoxygen_docs_Example_get_my_memcpy@
hs_bindgen_6a74d376c901b531 :: IO (FunPtr (Ptr Void ->
                                           PtrConst Void ->
                                           HsBindgen.Runtime.LibC.CSize -> IO (Ptr Void)))
-- __unique:__ @test_documentationdoxygen_docs_Example_get_my_memcpy@
hs_bindgen_6a74d376c901b531 = fromFFIType hs_bindgen_6a74d376c901b531_base
{-# NOINLINE my_memcpy #-}
{-|

  Function with restrict pointers

  [__@dest@ /(input)/__]: Destination buffer (restrict)

  [__@src@ /(input)/__]: Source buffer (restrict)

  [__@n@ /(input)/__]: Number of bytes

  __returns:__ Destination pointer

__C declaration:__ @my_memcpy@

__defined at:__ @documentation\/doxygen_docs.h 342:7@

__exported by:__ @documentation\/doxygen_docs.h@
-}
my_memcpy :: FunPtr (Ptr Void ->
                     PtrConst Void -> HsBindgen.Runtime.LibC.CSize -> IO (Ptr Void))
{-|

  Function with restrict pointers

  [__@dest@ /(input)/__]: Destination buffer (restrict)

  [__@src@ /(input)/__]: Source buffer (restrict)

  [__@n@ /(input)/__]: Number of bytes

  __returns:__ Destination pointer

__C declaration:__ @my_memcpy@

__defined at:__ @documentation\/doxygen_docs.h 342:7@

__exported by:__ @documentation\/doxygen_docs.h@
-}
my_memcpy = unsafePerformIO hs_bindgen_6a74d376c901b531
-- __unique:__ @test_documentationdoxygen_docs_Example_get_double_value@
foreign import ccall unsafe "hs_bindgen_156a92f3c5176105" hs_bindgen_156a92f3c5176105_base ::
    IO (FunPtr Void)
-- __unique:__ @test_documentationdoxygen_docs_Example_get_double_value@
hs_bindgen_156a92f3c5176105 :: IO (FunPtr (CInt -> IO CInt))
-- __unique:__ @test_documentationdoxygen_docs_Example_get_double_value@
hs_bindgen_156a92f3c5176105 = fromFFIType hs_bindgen_156a92f3c5176105_base
{-# NOINLINE double_value #-}
{-|

  Inline function

  [__@x@ /(input)/__]: Input value

  __returns:__ Doubled value

__C declaration:__ @double_value@

__defined at:__ @documentation\/doxygen_docs.h 350:19@

__exported by:__ @documentation\/doxygen_docs.h@
-}
double_value :: FunPtr (CInt -> IO CInt)
{-|

  Inline function

  [__@x@ /(input)/__]: Input value

  __returns:__ Doubled value

__C declaration:__ @double_value@

__defined at:__ @documentation\/doxygen_docs.h 350:19@

__exported by:__ @documentation\/doxygen_docs.h@
-}
double_value = unsafePerformIO hs_bindgen_156a92f3c5176105
-- __unique:__ @test_documentationdoxygen_docs_Example_get_complex_function@
foreign import ccall unsafe "hs_bindgen_dfa39b6be50cb2ca" hs_bindgen_dfa39b6be50cb2ca_base ::
    IO (FunPtr Void)
-- __unique:__ @test_documentationdoxygen_docs_Example_get_complex_function@
hs_bindgen_dfa39b6be50cb2ca :: IO (FunPtr (Ptr Config_t ->
                                           PtrConst HsBindgen.Runtime.LibC.Word8 ->
                                           HsBindgen.Runtime.LibC.CSize -> IO Status_code_t))
-- __unique:__ @test_documentationdoxygen_docs_Example_get_complex_function@
hs_bindgen_dfa39b6be50cb2ca = fromFFIType hs_bindgen_dfa39b6be50cb2ca_base
{-# NOINLINE complex_function #-}
{-|

  Function with complex documentation

  This function demonstrates multiple documentation features:

  __Description:__

  Performs complex data processing with multiple steps.

  __Algorithm:__

  10. Validate input parameters

  200. Allocate temporary buffers

  3000. Process data in chunks

  41235. Clean up resources

  __Algorithm2:__

  * Validate input parameters

  * Allocate temporary buffers

  * Process data in chunks

  * Clean up resources

  __Example:__

  @
  config_t cfg = {
  .id = 1,
  .name = "test",
  .flags = 0,
  .callback = my_callback,
  .user_data = NULL
  };

  status_code_t result = complex_function(&cfg, data, size);
  if (result != STATUS_OK) {
  handle_error(result);
  }
  @

  [__@config@ /(input)/__]: Configuration structure (see 'Config_t' )

  [__@data@ /(input)/__]: Input data buffer

  [__@size@ /(input)/__]: Size of input data

  __returns:__ Status code indicating success or failure

  __pre condition:__ config must not be NULL

  __pre condition:__ data must not be NULL if size > 0

  __post condition:__ Output data is written to config->user_data

  __/WARNING:/__ May return NULL if memory allocation fails

  __/WARNING:/__ Sets errno to EINVAL if parameters are invalid

__C declaration:__ @complex_function@

__defined at:__ @documentation\/doxygen_docs.h 423:15@

__exported by:__ @documentation\/doxygen_docs.h@
-}
complex_function :: FunPtr (Ptr Config_t ->
                            PtrConst HsBindgen.Runtime.LibC.Word8 ->
                            HsBindgen.Runtime.LibC.CSize -> IO Status_code_t)
{-|

  Function with complex documentation

  This function demonstrates multiple documentation features:

  __Description:__

  Performs complex data processing with multiple steps.

  __Algorithm:__

  10. Validate input parameters

  200. Allocate temporary buffers

  3000. Process data in chunks

  41235. Clean up resources

  __Algorithm2:__

  * Validate input parameters

  * Allocate temporary buffers

  * Process data in chunks

  * Clean up resources

  __Example:__

  @
  config_t cfg = {
  .id = 1,
  .name = "test",
  .flags = 0,
  .callback = my_callback,
  .user_data = NULL
  };

  status_code_t result = complex_function(&cfg, data, size);
  if (result != STATUS_OK) {
  handle_error(result);
  }
  @

  [__@config@ /(input)/__]: Configuration structure (see 'Config_t' )

  [__@data@ /(input)/__]: Input data buffer

  [__@size@ /(input)/__]: Size of input data

  __returns:__ Status code indicating success or failure

  __pre condition:__ config must not be NULL

  __pre condition:__ data must not be NULL if size > 0

  __post condition:__ Output data is written to config->user_data

  __/WARNING:/__ May return NULL if memory allocation fails

  __/WARNING:/__ Sets errno to EINVAL if parameters are invalid

__C declaration:__ @complex_function@

__defined at:__ @documentation\/doxygen_docs.h 423:15@

__exported by:__ @documentation\/doxygen_docs.h@
-}
complex_function = unsafePerformIO hs_bindgen_dfa39b6be50cb2ca
-- __unique:__ @test_documentationdoxygen_docs_Example_get_hash@
foreign import ccall unsafe "hs_bindgen_8ad88b79fd71f9d4" hs_bindgen_8ad88b79fd71f9d4_base ::
    IO (FunPtr Void)
-- __unique:__ @test_documentationdoxygen_docs_Example_get_hash@
hs_bindgen_8ad88b79fd71f9d4 :: IO (FunPtr (Ptr CChar -> IO CInt))
-- __unique:__ @test_documentationdoxygen_docs_Example_get_hash@
hs_bindgen_8ad88b79fd71f9d4 = fromFFIType hs_bindgen_8ad88b79fd71f9d4_base
{-# NOINLINE hash #-}
{-| __C declaration:__ @hash@

    __defined at:__ @documentation\/doxygen_docs.h 427:5@

    __exported by:__ @documentation\/doxygen_docs.h@
-}
hash :: FunPtr (Ptr CChar -> IO CInt)
{-| __C declaration:__ @hash@

    __defined at:__ @documentation\/doxygen_docs.h 427:5@

    __exported by:__ @documentation\/doxygen_docs.h@
-}
hash = unsafePerformIO hs_bindgen_8ad88b79fd71f9d4
-- __unique:__ @test_documentationdoxygen_docs_Example_get_square@
foreign import ccall unsafe "hs_bindgen_7ede0f7ec1b30650" hs_bindgen_7ede0f7ec1b30650_base ::
    IO (FunPtr Void)
-- __unique:__ @test_documentationdoxygen_docs_Example_get_square@
hs_bindgen_7ede0f7ec1b30650 :: IO (FunPtr (CInt -> IO CInt))
-- __unique:__ @test_documentationdoxygen_docs_Example_get_square@
hs_bindgen_7ede0f7ec1b30650 = fromFFIType hs_bindgen_7ede0f7ec1b30650_base
{-# NOINLINE square #-}
{-| __C declaration:__ @square@

    __defined at:__ @documentation\/doxygen_docs.h 429:5@

    __exported by:__ @documentation\/doxygen_docs.h@
-}
square :: FunPtr (CInt -> IO CInt)
{-| __C declaration:__ @square@

    __defined at:__ @documentation\/doxygen_docs.h 429:5@

    __exported by:__ @documentation\/doxygen_docs.h@
-}
square = unsafePerformIO hs_bindgen_7ede0f7ec1b30650
-- __unique:__ @test_documentationdoxygen_docs_Example_get_global_counter@
foreign import ccall unsafe "hs_bindgen_f9dede86496f59c9" hs_bindgen_f9dede86496f59c9_base ::
    IO (Ptr Void)
-- __unique:__ @test_documentationdoxygen_docs_Example_get_global_counter@
hs_bindgen_f9dede86496f59c9 :: IO (Ptr CInt)
-- __unique:__ @test_documentationdoxygen_docs_Example_get_global_counter@
hs_bindgen_f9dede86496f59c9 = fromFFIType hs_bindgen_f9dede86496f59c9_base
{-# NOINLINE global_counter #-}
{-|

  > extern int global_counter

  Global counter variable

  This variable tracks the number of operations performed.

__C declaration:__ @global_counter@

__defined at:__ @documentation\/doxygen_docs.h 61:12@

__exported by:__ @documentation\/doxygen_docs.h@
-}
global_counter :: Ptr CInt
{-|

  > extern int global_counter

  Global counter variable

  This variable tracks the number of operations performed.

__C declaration:__ @global_counter@

__defined at:__ @documentation\/doxygen_docs.h 61:12@

__exported by:__ @documentation\/doxygen_docs.h@
-}
global_counter = unsafePerformIO hs_bindgen_f9dede86496f59c9
-- __unique:__ @test_documentationdoxygen_docs_Example_get_version_string@
foreign import ccall unsafe "hs_bindgen_a294be08386c9257" hs_bindgen_a294be08386c9257_base ::
    IO (Ptr Void)
-- __unique:__ @test_documentationdoxygen_docs_Example_get_version_string@
hs_bindgen_a294be08386c9257 :: IO (Ptr (PtrConst CChar))
-- __unique:__ @test_documentationdoxygen_docs_Example_get_version_string@
hs_bindgen_a294be08386c9257 = fromFFIType hs_bindgen_a294be08386c9257_base
{-# NOINLINE version_string #-}
{-|

  > extern const char* version_string

  Version string constant

__C declaration:__ @version_string@

__defined at:__ @documentation\/doxygen_docs.h 67:20@

__exported by:__ @documentation\/doxygen_docs.h@
-}
version_string :: Ptr (PtrConst CChar)
{-|

  > extern const char* version_string

  Version string constant

__C declaration:__ @version_string@

__defined at:__ @documentation\/doxygen_docs.h 67:20@

__exported by:__ @documentation\/doxygen_docs.h@
-}
version_string = unsafePerformIO hs_bindgen_a294be08386c9257
