英語版
このページの英語版を見る

core.sys.darwin.mach.getsect

mach-o/getsect.h用のDヘッダファイル。
Authors:
Jacob Carlborg
Version:
初期作成:2010年3月16日
struct MachHeader;
現実には、これは core.sys.darwin.mach.loader.mach_header 32ビットプラットフォームと core.sys.darwin.mach.loader.mach_header_64 64ビット・プラットフォームになるだろう。
struct SegmentCommand;
現実には、これは core.sys.darwin.mach.loader.segment_command 32ビット・プラットフォームと core.sys.darwin.mach.loader.segment_command_64 64ビット・プラットフォームである。
struct Section;
現実には、これは core.sys.darwin.mach.loader.section 32ビット・プラットフォームと core.sys.darwin.mach.loader.section_64 64ビット・プラットフォームである。
nothrow @nogc char* getsectdata(scope const char* segname, scope const char* sectname, c_ulong* size);
与えられたセクション名のセクションデータを返す。
指定されたセグメントの、指定されたセクションのセクションデータを返す。 セクションのセクションデータを返す。
void main()
{
     import core.sys.darwin.mach.getsect;
     int size;
     assert(getsectdata("__TEXT", "__text", &size));
     assert(size > 0);
}
Parameters:
char* segname セグメントの名前
char* sectname セクションの名前
c_ulong* size これはセクションのサイズに設定される。 が存在しない場合は
Returns:
セクションデータへのポインタ。存在しない場合はnull を返す。
nothrow @nogc char* getsectdatafromFramework(scope const char* FrameworkName, scope const char* segname, scope const char* sectname, c_ulong* size);
与えられたセクション名を持つセクションのセクションデータを返す。
指定されたフレームワークの指定されたセグメント内の指定されたセクションのセクションデータを返す。 指定されたフレームワークの指定されたセグメント内の指定されたセクションのセクションデータを返す
void main()
{
     import core.sys.darwin.mach.getsect;
     int size;
     assert(getsectdatafromFramework("Foundation", "__TEXT", "__text", &size));
     assert(size > 0);
}
Parameters:
char* FrameworkName セクションデータを取得するフレームワークの名前。
char* segname セグメントの名前
char* sectname セクションの名前
c_ulong* size これはセクションのサイズに設定される。 が存在しない場合は
Returns:
セクションデータへのポインタか、存在しない場合はnull
nothrow @nogc c_ulong get_end();
nothrow @nogc c_ulong get_etext();
nothrow @nogc c_ulong get_edata();
nothrow @nogc const(Section)* getsectbyname(scope const char* segname, scope const char* sectname);
与えられたセクション名のセクションを返す。
指定されたセグメントの、指定されたセクションのセクション構造を返す。 の指定されたセクションのセクション構造を返す。
void main()
{
     import core.sys.darwin.mach.getsect;
     assert(getsectbyname("__TEXT", "__text"));
}
Parameters:
char* segname セグメントの名前
char* sectname セクション名
Returns:
セクション構造体へのポインタ、または存在しない場合はnull
nothrow @nogc ubyte* getsectiondata(scope const MachHeader* mhp, scope const char* segname, scope const char* sectname, c_ulong* size);
与えられたセクション名のセクションデータを返す。
与えられたセクションのセクションデータを返す。 指定されたセクションのセクションデータを返す。
void main()
{
     import core.sys.darwin.mach.getsect;
     import core.sys.darwin.crt_externs;

     auto mph = _NSGetMachExecuteHeader();
     int size;
     assert(getsectiondata(mph, "__TEXT", "__text", &size));
     assert(size > 0);
}
Parameters:
MachHeader* mhp セクションデータを取得するマッハヘッダ
char* segname セグメント名
char* sectname セクション名
c_ulong* size これはセクションのサイズに設定される。 が存在しない場合は
Returns:
セクションデータへのポインタ。存在しない場合はnull となる。
nothrow @nogc const(SegmentCommand)* getsegbyname(scope const char* segname);
指定したセグメント名のセグメントを返す。
指定されたセグメントのセグメント構造を返す。 にリンクされている
void main()
{
     import core.sys.darwin.mach.getsect;
     assert(getsegbyname("__TEXT"));
}
Parameters:
char* segname セグメントの名前
Returns:
セクション構造体へのポインタ、存在しない場合はnull
nothrow @nogc ubyte* getsegmentdata(scope const MachHeader* mhp, scope const char* segname, c_ulong* size);
指定されたセグメント名のセグメントデータを返す。
が指す画像内の、指定したセグメントのセグメントデータを返す。 指定された mach ヘッダが指す画像内の、指定されたセグメントのセグメントデータを返す。
void main()
{
     import core.sys.darwin.mach.getsect;
     import core.sys.darwin.crt_externs;

     auto mph = _NSGetMachExecuteHeader();
     int size;
     assert(getsegmentdata(mph, "__TEXT", &size));
     assert(size > 0);
}
Parameters:
MachHeader* mhp セクションデータを取得するマッハヘッダ
char* segname セグメントの名前
c_ulong* size これはセクションのサイズに設定される。 が存在しない場合は
Returns:
セクションデータへのポインタ、または存在しない場合はnull
nothrow @nogc ubyte* getsectdatafromheader(scope const mach_header* mhp, scope const char* segname, scope const char* sectname, c_ulong* size);

nothrow @nogc ubyte* getsectdatafromheader_64(scope const mach_header_64* mhp, scope const char* segname, scope const char* sectname, c_ulong* size);
与えられたセクション名のセクションデータを返す。
与えられたセクションのセクションデータを返す。 指定されたセクションのセクションデータを返す。
void main()
{
     import core.sys.darwin.mach.getsect;
     import core.sys.darwin.crt_externs;

     auto mph = _NSGetMachExecuteHeader();
     int size;
     assert(getsectdatafromheader(mph, "__TEXT", "__text", &size));
     assert(size > 0);
}
Parameters:
mach_header* mhp セクションデータを取得するマッハヘッダ
char* segname セグメント名
char* sectname セクション名
c_ulong* size これはセクションのサイズに設定される。 が存在しない場合は
Returns:
セクションデータへのポインタか、存在しない場合はnull
nothrow @nogc const(section)* getsectbynamefromheader(scope const mach_header* mhp, scope const char* segname, scope const char* sectname);

nothrow @nogc const(section_64)* getsectbynamefromheader_64(scope const mach_header_64* mhp, scope const char* segname, scope const char* sectname);
与えられたセクション名のセクションを返す。
与えられたセグメント内の与えられたセクションのセクション構造を返す のセクション構造を返す。
void main()
{
     import core.sys.darwin.mach.getsect;
     import core.sys.darwin.crt_externs;

     auto mph = _NSGetMachExecuteHeader();
     assert(getsectbynamefromheader(mph, "__TEXT", "__text"));
}
Parameters:
mach_header* mhp セクションを取得するためのマッハヘッダ
char* segname セグメントの名前
char* sectname セクション名
Returns:
セクション構造体へのポインタ、または存在しない場合はnull
nothrow @nogc const(section)* getsectbynamefromheaderwithswap(scope const mach_header* mhp, scope const char* segname, scope const char* section, int fSwap);

nothrow @nogc const(section)* getsectbynamefromheaderwithswap_64(scope const mach_header_64* mhp, scope const char* segname, scope const char* section, int fSwap);
与えられたセクション名のセクションを返す。
指定されたセグメントの、指定されたセクションのセクション構造体を返す の指定されたセクションのセクション構造体を返す。
Parameters:
mach_header* mhp セクションを取得する mach ヘッダ
char* segname セグメントの名前
char* section セクション名
int fSwap ?
Returns:
セクション構造体へのポインタか、存在しない場合はnull