18 lines
386 B
Python
18 lines
386 B
Python
import os
|
|
import ctypes
|
|
|
|
clib = ctypes.CDLL(None, use_errno=True)
|
|
|
|
def CLIBCheckError(ret, func, args):
|
|
if ret < 0:
|
|
code = ctypes.get_errno()
|
|
raise OSError(code, os.strerror(code))
|
|
return ret
|
|
|
|
def CLIBLookup(name, resType, argTypes):
|
|
func = clib[name]
|
|
func.restye = resType
|
|
func.argtypes = argTypes
|
|
func.errcheck = CLIBCheckError
|
|
return func
|