def bschoc(value, ndim, lenvals, array, order):
    """
    Do a binary search for a given value within a character string array,
    accompanied by an order vector.  Return the index of the matching array
    entry, or -1 if the key value is not found.

    http://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/bschoc_c.html

    :param value: Key value to be found in array.
    :type value: str
    :param ndim: Dimension of array.
    :type ndim: int
    :param lenvals: String length.
    :type lenvals: int
    :param array: Character string array to search.
    :type array: list of strings
    :param order: Order vector.
    :type order: Array of ints
    :return: index
    :rtype: int
    """
    value = stypes.stringToCharP(value)
    ndim = ctypes.c_int(ndim)
    lenvals = ctypes.c_int(lenvals)
    array = stypes.listToCharArrayPtr(array, xLen=lenvals, yLen=ndim)
    order = stypes.toIntVector(order)
    return libspice.bschoc_c(value, ndim, lenvals, array, order)
Do a binary search for a given value within a character string array,
    accompanied by an order vector.  Return the index of the matching array
    entry, or -1 if the key value is not found.

    http://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/cspice/bschoc_c.html

    :param value: Key value to be found in array.
    :type value: str
    :param ndim: Dimension of array.
    :type ndim: int
    :param lenvals: String length.
    :type lenvals: int
    :param array: Character string array to search.
    :type array: list of strings
    :param order: Order vector.
    :type order: Array of ints
    :return: index
    :rtype: int