--- /dev/null
+*.hi
+*.o
+
+Setup
+dist
--- /dev/null
+#include <bindings.dsl.h>
+#include <apr_anylock.h>
+
+module Bindings.APR.AnyLock where
+#strict_import
+import Bindings.APR.ErrNo
+import Bindings.APR.Proc.Mutex
+import Bindings.APR.Thread.Mutex
+import Bindings.APR.Thread.RWLock
+
+#synonym_t tm_lock, CInt
+#num apr_anylock_none
+#num apr_anylock_procmutex
+#num apr_anylock_readlock
+#num apr_anylock_writelock
+
+#starttype union apr_anylock_u_t
+# union_field pm, Ptr <apr_proc_mutex_t>
+# if APR_HAS_THREADS
+# union_field tm, Ptr <apr_thread_mutex_t>
+# union_field rw, Ptr <apr_thread_rwlock_t>
+# endif
+#stoptype
+
+#starttype struct apr_anylock_t
+#field type, <tm_lock>
+#field lock, <apr_anylock_u_t>
+#stoptype
+
+#cinline APR_ANYLOCK_LOCK , Ptr <apr_anylock_t> -> IO <apr_status_t>
+#cinline APR_ANYLOCK_TRYLOCK, Ptr <apr_anylock_t> -> IO <apr_status_t>
+#cinline APR_ANYLOCK_UNLOCK , Ptr <apr_anylock_t> -> IO <apr_status_t>
--- /dev/null
+<!-- -*- xml -*-
+
+bindings-apr-util はパブリックドメインに在ります。
+bindings-apr-util is in the public domain.
+
+See http://creativecommons.org/licenses/publicdomain/
+
+-->
+
+<rdf:RDF xmlns="http://web.resource.org/cc/"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+ <Work rdf:about="http://cielonegro.org/Bindings-APR.html">
+ <dc:title>bindings-apr-util</dc:title>
+ <dc:rights>
+ <Agent>
+ <dc:title>PHO</dc:title>
+ </Agent>
+ </dc:rights>
+ <license rdf:resource="http://web.resource.org/cc/PublicDomain" />
+ </Work>
+
+ <License rdf:about="http://web.resource.org/cc/PublicDomain">
+ <permits rdf:resource="http://web.resource.org/cc/Reproduction" />
+ <permits rdf:resource="http://web.resource.org/cc/Distribution" />
+ <permits rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+ </License>
+
+</rdf:RDF>
--- /dev/null
+#RUN_COMMAND = $(MAKE) -C examples run
+
+CONFIGURE_ARGS = -O
+
+include cabal-package.mk
--- /dev/null
+#!/usr/bin/env runghc
+
+import Distribution.Simple
+main = defaultMain
--- /dev/null
+Name: bindings-apr-util
+Synopsis: Low level bindings to Apache Portable Runtime Utility (APR Utility)
+Description:
+ Bindings to APR Utility: <http://apr.apache.org/>
+Version: 0.1
+License: PublicDomain
+License-File: COPYING
+Author: PHO <pho at cielonegro dot org>
+Maintainer: PHO <pho at cielonegro dot org>
+Stability: experimental
+Homepage: http://cielonegro.org/Bindings-APR.html
+Category: FFI
+Tested-With: GHC == 6.12.3
+Cabal-Version: >= 1.6
+Build-Type: Simple
+Extra-Source-Files:
+
+Source-Repository head
+ Type: git
+ Location: git://git.cielonegro.org/bindings-apr-util.git
+
+Library
+ Build-Depends:
+ base == 4.2.*,
+ bindings-DSL == 1.0.*,
+ bindings-apr == 0.1.*
+
+ PkgConfig-Depends:
+ apr-util-1 >= 1.3
+
+ Exposed-Modules:
+ Bindings.APR.AnyLock
+
+ C-Sources:
+ cbits/helper_apr_anylock.c
+
+ Extensions:
+ ForeignFunctionInterface
--- /dev/null
+# -*- makefile-gmake -*-
+#
+# Variables:
+#
+# CONFIGURE_ARGS :: arguments to be passed to ./Setup configure
+# default: --disable-optimization
+#
+# RUN_COMMAND :: command to be run for "make run"
+#
+
+GHC ?= ghc
+FIND ?= find
+RM_RF ?= rm -rf
+SUDO ?= sudo
+AUTOCONF ?= autoconf
+HLINT ?= hlint
+
+CONFIGURE_ARGS ?= --disable-optimization
+
+SETUP_FILE := $(wildcard Setup.*hs)
+CABAL_FILE := $(wildcard *.cabal)
+
+ifeq ($(shell ls configure.ac 2>/dev/null),configure.ac)
+ AUTOCONF_AC_FILE := configure.ac
+ AUTOCONF_FILE := configure
+else
+ ifeq ($(shell ls configure.in 2>/dev/null),configure.in)
+ AUTOCONF_AC_FILE := configure.in
+ AUTOCONF_FILE := configure
+ else
+ AUTOCONF_AC_FILE :=
+ AUTOCONF_FILE :=
+ endif
+endif
+
+BUILDINFO_IN_FILE := $(wildcard *.buildinfo.in)
+BUILDINFO_FILE := $(BUILDINFO_IN_FILE:.in=)
+
+all: build
+
+build: setup-config build-hook
+ ./Setup build
+
+build-hook:
+
+ifeq ($(RUN_COMMAND),)
+run:
+ @echo "cabal-package.mk: No command to run."
+ @echo "cabal-package.mk: If you want to run something, define RUN_COMMAND variable."
+else
+run: build
+ @echo ".:.:. Let's go .:.:."
+ $(RUN_COMMAND)
+endif
+
+setup-config: dist/setup-config setup-config-hook $(BUILDINFO_FILE)
+
+setup-config-hook:
+
+dist/setup-config: $(CABAL_FILE) Setup $(AUTOCONF_FILE)
+ ./Setup configure $(CONFIGURE_ARGS)
+
+$(AUTOCONF_FILE): $(AUTOCONF_AC_FILE)
+ $(AUTOCONF)
+
+$(BUILDINFO_FILE): $(BUILDINFO_IN_FILE) configure
+ ./Setup configure $(CONFIGURE_ARGS)
+
+Setup: $(SETUP_FILE)
+ $(GHC) --make Setup
+
+clean: clean-hook
+ $(RM_RF) dist Setup *.o *.hi .setup-config *.buildinfo
+ $(FIND) . -name '*~' -exec rm -f {} \;
+
+clean-hook:
+
+doc: setup-config
+ ./Setup haddock
+
+install: build
+ $(SUDO) ./Setup install
+
+sdist: setup-config
+ ./Setup sdist
+
+test: build
+ ./Setup test
+
+lint:
+ $(HLINT) . --report \
+ --ignore="Use string literal" \
+ --ignore="Use concatMap"
+
+.PHONY: build build-hook setup-config setup-config-hook run clean clean-hook install doc sdist test lint
--- /dev/null
+#include <bindings.cmacros.h>
+#include <apr_anylock.h>
+
+BC_INLINE1(APR_ANYLOCK_LOCK , apr_anylock_t*, apr_status_t)
+BC_INLINE1(APR_ANYLOCK_TRYLOCK, apr_anylock_t*, apr_status_t)
+BC_INLINE1(APR_ANYLOCK_UNLOCK , apr_anylock_t*, apr_status_t)