Example #1
0
        public static void Initialize()
        {
            if (AppKitLibrary != IntPtr.Zero)
            {
                return;
            }

            AppKitLibrary     = NS.LoadLibrary("/System/Library/Frameworks/AppKit.framework/AppKit");
            FoundationLibrary = NS.LoadLibrary("/System/Library/Frameworks/Foundation.framework/Foundation");
        }
Example #2
0
        public static Dylib Load(string name)
        {
            IntPtr handle = NS.dlopen(name, 2);

            if (handle == IntPtr.Zero)
            {
                return(null);
            }
            return(new Dylib(handle));
        }
Example #3
0
        public static IntPtr GetStringConstant(IntPtr handle, string symbol)
        {
            var indirect = NS.GetSymbol(handle, symbol);

            if (indirect == IntPtr.Zero)
            {
                return(IntPtr.Zero);
            }

            var actual = Marshal.ReadIntPtr(indirect);

            if (actual == IntPtr.Zero)
            {
                return(IntPtr.Zero);
            }

            return(actual);
        }
Example #4
0
 public IntPtr GetAddress(IntPtr function) => NS.dlsym(Handle, function);
Example #5
0
 public IntPtr GetAddress(string name) => NS.dlsym(Handle, name);