Skip to content

Instantly share code, notes, and snippets.

@pudquick
Last active August 29, 2015 14:02
Show Gist options
  • Select an option

  • Save pudquick/db5d39c9d678181a6294 to your computer and use it in GitHub Desktop.

Select an option

Save pudquick/db5d39c9d678181a6294 to your computer and use it in GitHub Desktop.
from ctypes import CDLL, Structure, POINTER, c_int32
CFoundation = CDLL('/System/Library/Frameworks/CoreFoundation.Framework/Versions/Current/CoreFoundation')
from CoreFoundation import kCFStringEncodingUTF8
class OpaqueType(Structure):
pass
OpaqueTypeRef = POINTER(OpaqueType)
CFArrayCreateMutable = CFoundation.CFArrayCreateMutable
CFArrayCreateMutable.restype = OpaqueTypeRef
CFArrayGetCount = CFoundation.CFArrayGetCount
CFArrayGetCount.restype = c_int32
CFStringCreateWithCString = CFoundation.CFStringCreateWithCString
CFStringCreateWithCString.restype = OpaqueTypeRef
CFArrayAppendValue = CFoundation.CFArrayAppendValue
def _CFString(a_string):
return CFStringCreateWithCString(None, a_string, kCFStringEncodingUTF8)
keys_array = CFArrayCreateMutable(None, 0, None)
values_array = CFArrayCreateMutable(None, 0, None)
key_0 = _CFString('passphrase')
value_0 = _CFString('frogor')
_ignore = CFArrayAppendValue(keys_array, key_0)
_ignore = CFArrayAppendValue(value_array, value_0)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment