X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=docs%2Finternal-calls;h=52c3ef12343ea013ad58d80192b078be6ab05e9e;hb=c7b19b52fd671233cf2daab451f09c7591c859b1;hp=1fed33078e49e4b89b31ed7f45a335f2ae0ae859;hpb=ff228e1c801bda9666b6edab3ee962e05edcf480;p=mono.git diff --git a/docs/internal-calls b/docs/internal-calls index 1fed33078e4..52c3ef12343 100644 --- a/docs/internal-calls +++ b/docs/internal-calls @@ -62,13 +62,11 @@ * How to hook internal calls with the runtime Once you require an internal call in corlib, you need to - create a C implementation for it and register it in a static - table in metadata/icall.c. Add an entry in the table like: + create a C implementation for it and register it in a + table in metadata/icall-def.h. See the top of that file + for more information. - "System.String::GetHashCode", ves_icall_System_String_GetHashCode, - - Note that you need to include the full namespace.name of the - class. If there are overloaded methods, you need also to + If there are overloaded methods, you need also to specify the signature of _all_ of them: [MethodImplAttribute(MethodImplOptions.InternalCall)] @@ -76,9 +74,9 @@ [MethodImplAttribute(MethodImplOptions.InternalCall)] public extern override void DoSomething (bool useful); - should be mapped with: + should be mapped with the following method names: - "Namespace.ClassName::DoSomething()", ves_icall_Namespace_ClassName_DoSomething, - "Namespace.ClassName::DoSomething(bool)", ves_icall_Namespace_ClassName_DoSomething_bool, + "DoSomething()", ves_icall_Namespace_ClassName_DoSomething, + "DoSomething(bool)", ves_icall_Namespace_ClassName_DoSomething_bool,