Created by
Oskari Timperi
| import objc
from Foundation import NSBundle
AuthorizationRef = objc.createOpaquePointerType('AuthorizationRef', b'^{Authorization=}', None)
AuthorizationItem = objc.createStructType('AuthorizationItem', b'{AuthorizationItem=*Q^vI}', ('name', 'valueLength', 'value', 'flags'))
objc.createStructAlias("AuthorizationItem", b"{AuthorizationItem}", AuthorizationItem)
AuthorizationItemSet = objc.createStructType('AuthorizationItemSet', b'{AuthorizationItemSet=I^{AuthorizationItem=*Q^vI}}', ('count', 'items'))
objc.createStructAlias("AuthorizationItemSet", b"{AuthorizationItemSet}", AuthorizationItemSet)
Security = NSBundle.bundleWithIdentifier_("com.apple.security")
functions = [
('AuthorizationCreate', b'Irn^{AuthorizationItemSet}rn^{AuthorizationItemSet}Io^^{Authorization}'),
# ('AuthorizationCopyRights', b'I^{Authorization}r^{AuthorizationItemSet}r^{AuthorizationItemSet}Io^^{AuthorizationItemSet}')
]
objc.loadBundleFunctions(Security, globals(), functions)
kAuthorizationFlagDefaults = 0
kAuthorizationFlagInteractionAllowed = (1 << 0)
kAuthorizationFlagExtendRights = (1 << 1)
kAuthorizationFlagPartialRights = (1 << 2)
kAuthorizationFlagDestroyRights = (1 << 3)
kAuthorizationFlagPreAuthorize = (1 << 4)
flags = kAuthorizationFlagDefaults | kAuthorizationFlagInteractionAllowed | kAuthorizationFlagExtendRights
right = AuthorizationItem()
right.name = b'system.services.systemconfiguration.network'
rights = AuthorizationItemSet()
rights.count = 1
rights.items = right
status, authref = AuthorizationCreate(rights, objc.NULL, 0, None)
|