# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. from ctypes import (Structure, POINTER, c_int, c_uint8, c_uint, c_ubyte, c_char_p) from neoman.yubicommon.ctypes.libloader import load_library _lib = load_library('ykpers-1', '1') def define(name, args, res): try: fn = getattr(_lib, name) fn.argtypes = args fn.restype = res except AttributeError: print "Undefined symbol: %s" % name def error(*args, **kwargs): raise Exception("Undefined symbol: %s" % name) fn = error return fn
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. from ctypes import (Structure, POINTER, c_int, c_uint, c_uint8, c_uint16, c_char_p, c_size_t) from neoman.yubicommon.ctypes.libloader import load_library _lib = load_library('u2f-host', '0') u2fh_rc = c_int u2fh_initflags = c_uint def define(name, args, res=None): fn = getattr(_lib, name) fn.argtypes = args fn.restype = res return fn u2fh_check_version = define('u2fh_check_version', [c_char_p], c_char_p)
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. from ctypes import (Structure, POINTER, c_int, c_uint, c_uint8, c_uint16, c_char_p, c_size_t) from neoman.yubicommon.ctypes.libloader import load_library _lib = load_library('u2f-host', '0') u2fh_rc = c_int u2fh_initflags = c_uint def define(name, args, res=None): fn = getattr(_lib, name) fn.argtypes = args fn.restype = res return fn u2fh_check_version = define('u2fh_check_version', [c_char_p], c_char_p) u2fh_devs = type('u2fh_devs', (Structure, ), {})
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. from ctypes import (Structure, POINTER, c_int, c_uint, c_uint8, c_char_p, c_size_t) from neoman.yubicommon.ctypes.libloader import load_library _lib = load_library('ykneomgr', '0') ykneomgr_rc = c_int ykneomgr_initflags = c_uint def define(name, args, res=None): fn = getattr(_lib, name) fn.argtypes = args fn.restype = res return fn ykneomgr_check_version = define('ykneomgr_check_version', [c_char_p], c_char_p) ykneomgr_dev = type('ykneomgr_dev', (Structure,), {})