f'\n\n        subroutine {fprefix}_input_{fsuffix}(c, o, n)\n          character*{clength}, intent(in) :: c\n          integer n\n          !f2py integer, depend(c), intent(hide) :: n = slen(c)\n          integer*1, dimension(n) :: o\n          !f2py intent(out) o\n          o = transfer(c, o)\n        end subroutine {fprefix}_input_{fsuffix}\n\n        subroutine {fprefix}_output_{fsuffix}(c, o, n)\n          character*{clength}, intent(out) :: c\n          integer n\n          integer*1, dimension(n), intent(in) :: o\n          !f2py integer, depend(o), intent(hide) :: n = len(o)\n          c = transfer(o, c)\n        end subroutine {fprefix}_output_{fsuffix}\n\n        subroutine {fprefix}_array_input_{fsuffix}(c, o, m, n)\n          integer m, i, n\n          character*{clength}, intent(in), dimension(m) :: c\n          !f2py integer, depend(c), intent(hide) :: m = len(c)\n          !f2py integer, depend(c), intent(hide) :: n = f2py_itemsize(c)\n          integer*1, dimension(m, n), intent(out) :: o\n          do i=1,m\n            o(i, :) = transfer(c(i), o(i, :))\n          end do\n        end subroutine {fprefix}_array_input_{fsuffix}\n\n        subroutine '