📄 syscall.hhf
字号:
var child_stack :var; flags :dword; arg :dword ); @use eax; @returns( "eax" ); @external( "linux_clone" ); procedure sysclone ( var child_stack :var; flags :dword ); @use eax; @returns( "eax" ); @external( "linux_sysclone" ); procedure setdomainname( domainName:string; len:size_t ); @returns( "eax" ); @external( "linux_setdomainname" ); procedure modify_ldt( func:dword; var ptr:var; bytecount:dword ); @use eax; @returns( "eax" ); @external( "linux_modify_ldt" ); procedure adjtimex( var buf:timex ); @use eax; @returns( "eax" ); @external( "linux_adjtimex" ); procedure mprotect( var addr:var; len:size_t; prot:dword ); @use eax; @returns( "eax" ); @external( "linux_mprotect" ); procedure sigprocmask ( how :dword; var set :sigset_t; var oldset :sigset_t ); @use eax; @returns( "eax" ); @external( "linux_sigprocmask" ); procedure quotactl( cmd:dword; special:string; id:dword; addr:caddr_t ); @returns( "eax" ); @external( "linux_quotactl" ); procedure getpgid( pid:pid_t ); @returns( "eax" ); @external( "linux_getpgid" ); procedure fchdir( fd:dword ); @returns( "eax" ); @external( "linux_fchdir" ); procedure bdflush( func:dword; address:dword ); @returns( "eax" ); @external( "linux_bdflush" ); procedure sysfs1( option:dword ); @returns( "eax" ); @external( "linux_sysfs1" ); procedure sysfs2( option:dword; fsname:string ); @returns( "eax" ); @external( "linux_sysfs2" ); procedure sysfs3( option:dword; fs_index:dword; var buf:var ); @use eax; @returns( "eax" ); @external( "linux_sysfs3" ); #macro sysfs( option, args[] ); #if( @elements( args ) = 0 ) linux.sysfs1( option ) #elseif( @elements( args ) = 1 ) linux.sysfs2( option, @text( args[0] ) ) #else linux.sysfs3 ( option, @text( args[0] ), @text( args[1] ) ) #endif #endmacro; procedure personality( persona:dword ); @returns( "eax" ); @external( "linux_personality" ); procedure setfsuid( fsuid:uid_t ); @returns( "eax" ); @external( "linux_setfsuid" ); procedure setfsgid( fsgid:gid_t ); @returns( "eax" ); @external( "linux_setfsgid" ); procedure llseek ( fd:dword; offset_high:dword; offset_low:dword; var theResult:loff_t; whence:dword ); @use eax; @returns( "eax" ); @external( "linux_llseek" ); procedure getdents( fd:dword; var dirp:dirent; count:int32 ); @use eax; @returns( "eax" ); @external( "linux_getdents" ); procedure flock( fd:dword; operation:int32 ); @returns( "eax" ); @external( "linux_flock" ); procedure msync( start:dword; length:size_t; flags:dword ); @returns( "eax" ); @external( "linux_msync" ); procedure readv( fd:dword; var vector:var; count:int32 ); @use eax; @returns( "eax" ); @external( "linux_readv" ); procedure writev( fd:dword; var vector:var; count:int32 ); @use eax; @returns( "eax" ); @external( "linux_writev" ); procedure getsid( pid:pid_t ); @returns( "eax" ); @external( "linux_getsid" ); procedure fdatasync( fd:dword ); @returns( "eax" ); @external( "linux_fdatasync" ); procedure sysctl( var args:__sysctl_args ); @use eax; @returns( "eax" ); @external( "linux_sysctl" ); procedure mlock( addr:dword; len:size_t ); @returns( "eax" ); @external( "linux_mlock" ); procedure munlock( addr:dword; len:size_t ); @returns( "eax" ); @external( "linux_munlock" ); procedure mlockall( flags:dword ); @returns( "eax" ); @external( "linux_mlockall" ); procedure munlockall; @returns( "eax" ); @external( "linux_munlockall" ); procedure sched_setparam( pid:pid_t; var p:sched_param_t ); @use eax; @returns( "eax" ); @external( "linux_sched_setparam" ); procedure sched_getparam( pid:pid_t; var p:sched_param_t ); @use eax; @returns( "eax" ); @external( "linux_sched_getparam" ); procedure sched_setscheduler( pid:pid_t; policy:dword; var p:sched_param_t ); @use eax; @returns( "eax" ); @external( "linux_sched_setscheduler" ); procedure sched_getscheduler( pid:pid_t ); @returns( "eax" ); @external( "linux_sched_getscheduler" ); procedure sched_yield; @returns( "eax" ); @external( "linux_yield" ); procedure sched_get_priority_max( policy:dword ); @returns( "eax" ); @external( "linux_sched_get_priority_max" ); procedure sched_get_priority_min( policy:dword ); @returns( "eax" ); @external( "linux_sched_get_priority_min" ); procedure sched_rr_get_interval( pid:pid_t; var tp:timespec ); @use eax; @returns( "eax" ); @external( "linux_sched_rr_get_interval" ); procedure nanosleep( var req:timespec; var rem:timespec ); @use eax; @returns( "eax" ); @external( "linux_nanosleep" ); procedure mremap ( old_address :dword; old_size :size_t; new_size :size_t; flags :dword ); @returns( "eax" ); @external( "linux_mremap" ); procedure setresuid( ruid:uid_t; euid:uid_t; suid:uid_t ); @returns( "eax" ); @external( "linux_setresuid" ); procedure setresgid( rgid:gid_t; egid:gid_t; sgid:gid_t ); @returns( "eax" ); @external( "linux_setresgid" ); procedure getresuid ( var ruid :uid_t; var euid :uid_t; var suid :uid_t ); @use eax; @returns( "eax" ); @external( "linux_getresuid" ); procedure getresgid ( var rgid :gid_t; var egid :gid_t; var sgid :gid_t ); @use eax; @returns( "eax" ); @external( "linux_getresgid" ); procedure query_module ( theName :string; which :dword; var buf :var; bufsize :size_t; var retval :size_t ); @use eax; @returns( "eax" ); @external( "linux_query_module" ); procedure vm86( fn:dword; var vm86pss:vm86plus_struct ); @use eax; @returns( "eax" ); @external( "linux_vm86" ); procedure poll( var ufds:pollfd; nfds:dword; timeout:dword ); @use eax; @returns( "eax" ); @external( "linux_poll" ); procedure prctl ( option :dword; arg2 :dword; arg3 :dword; arg4 :dword; arg5 :dword ); @returns( "eax" ); @external( "linux_prctl" ); procedure pread ( fd :dword; var buf :var; count :size_t; offset :off_t ); @use eax; @returns( "eax" ); @external( "linux_pread" ); procedure pwrite ( fd :dword; var buf :var; count :size_t; offset :off_t ); @use eax; @returns( "eax" ); @external( "linux_pwrite" ); procedure chown( path:string; owner:uid_t; group:gid_t ); @returns( "eax" ); @external( "linux_chown" ); procedure getcwd( var buf:var; maxlen:size_t ); @use eax; @returns( "eax" ); @external( "linux_getcwd" ); procedure sigaltstack ( var sss:stack_t; var oss:stack_t ); @use eax; @returns( "eax" ); @external( "linux_sigaltstack" ); procedure sendfile ( out_fd :dword; in_fd :dword; var offset :off_t; count :size_t ); @use eax; @returns( "eax" ); @external( "linux_sendfile" ); procedure vfork; @returns( "eax" ); @external( "linux_vfork" ); procedure semop ( semid :dword; var sops :sembuf; nsops :dword ); @use eax; @returns( "eax" ); @external( "linux_semop" ); procedure semctl ( semid:dword; semnum:int32; cmd:dword; arg:semun ); @returns( "eax" ); @external( "linux_semctl" ); procedure semget( key:key_t; nsyms:int32; semflg:dword ); @returns( "eax" ); @external( "linux_semget" ); procedure msgrcv ( msgid :dword; var msgp :msgbuf; msgsz :size_t; msgtyp :dword; msgflg :dword ); @use eax; @returns( "eax" ); @external( "linux_msgrcv" ); procedure msgsnd ( msgid :dword; var msgp :msgbuf; msgsz :size_t; msgflag :dword ); @use eax; @returns( "eax" ); @external( "linux_msgsnd" ); procedure msgctl ( msqid :dword; cmd :dword; var buf :msqid_ds ); @use eax; @returns( "eax" ); @external( "linux_msgctl" ); procedure msgget ( key :key_t; msgflg :dword ); @returns( "eax" ); @external( "linux_msgget" ); procedure shmat ( shmid :dword; shmaddr :dword; shmflg :dword ); @returns( "eax" ); @external( "linux_shmat" ); procedure shmctl ( shmid :dword; cmd :dword; var buf :shmid_ds ); @returns( "eax" ); @external( "linux_shmctl" ); procedure shmdt ( shmaddr :dword ); @returns( "eax" ); @external( "linux_shmdt" ); procedure shmget ( key :key_t; size :dword; shmflg :dword ); @returns( "eax" ); @external( "linux_shmget" ); procedure accept ( s :dword; var addr :sockaddr; addrlen :socklen_t ); @use eax; @returns( "eax" ); @external( "linux_accept" ); procedure bind ( sockfd :dword; var addr :sockaddr; addrlen :socklen_t ); @use eax; @returns( "eax" ); @external( "linux_bind" ); procedure connect ( sockfd :dword; var serv_addr :sockaddr; addrlen :socklen_t ); @use eax; @returns( "eax" ); @external( "linux_connect" ); procedure getpeername ( s :dword; var _name :sockaddr; namelen :socklen_t ); @use eax; @returns( "eax" ); @external( "linux_getpeername" ); procedure getsockname ( s :dword; var _name :sockaddr; namelen :socklen_t ); @use eax; @returns( "eax" ); @external( "linux_getsockname" ); procedure getsockopt ( s :dword; level :dword; optname :dword; var optval :var; optlen :socklen_t ); @stdcall; @use eax; @returns( "eax" ); @external( "linux_getsockopt" ); procedure setsockopt ( s :dword; level :dword; optname :dword; var optval :var; optlen :socklen_t ); @use eax; @stdcall; @returns( "eax" ); @external( "linux_setsockopt" ); procedure listen ( s :dword; backlog :dword ); @use eax; @returns( "eax" ); @external( "linux_listen" ); procedure recv ( s :dword; var buf :var; len :size_t; flags :dword ); @use eax; @returns( "eax" ); @external( "linux_recv" ); procedure recvmsg ( s :dword; var msg :msghdr; flags :dword ); @use eax; @returns( "eax" ); @external( "linux_recvmsg" ); procedure recvfrom ( s :dword; var buf :var; len :size_t; flags :dword; var from :sockaddr; var fromlen :socklen_t ); @use eax; @stdcall; @returns( "eax" ); @external( "linux_recvfrom" ); procedure send ( s :dword; var buf :var; len :size_t; flags :dword ); @use eax; @returns( "eax" ); @external( "linux_send" ); procedure sendmsg ( s :dword; var msg :msghdr; flags :dword ); @use eax; @returns( "eax" ); @external( "linux_sendmsg" ); procedure sendto ( s :dword; var buf :var; len :size_t; flags :dword; var _to :sockaddr; var tolen :socklen_t ); @use eax; @stdcall; @returns( "eax" ); @external( "linux_sendto" ); procedure shutdown ( s :dword; how :dword ); @use eax; @returns( "eax" ); @external( "linux_shutdown" ); procedure socket ( domain :dword; _type :dword; protocol:dword ); @use eax; @returns( "eax" ); @external( "linux_socket" ); type pairfd_t : dword[2]; procedure socketpair ( d :dword; _type :dword; protocol:dword; var sv :pairfd_t ); @use eax; @returns( "eax" ); @external( "linux_socketpair" ); procedure select ( n :int32; var readfds :fd_set; var writefds :fd_set; var exceptfds :fd_set; var timeout :timespec; var sigmask :sigset_t ); @use eax; @returns( "eax" ); @external( "linux_select" ); procedure statfs( path:string; var buf:statfs_t ); @use eax; @returns( "eax" ); @external( "linux_statfs" ); procedure fstatfs( fd:dword; var buf:statfs_t ); @use eax; @returns( "eax" ); @external( "linux_fstatfs" ); procedure ustat( dev:dev_t; var ubuf:ustat_t ); @use eax; @returns( "eax" ); @external( "linux_ustat" ); procedure create_module( theName:string; size:size_t ); @returns( "eax" ); @external( "linux_create_module" ); procedure init_module ( theName:string; var image:module_t ); @use eax; @returns( "eax" ); @external( "linux_init_module" ); procedure delete_module( theName:string ); @returns( "eax" ); @external( "linux_delete_module" ); procedure get_kernel_syms( var table:kernel_sym ); @use eax; @returns( "eax" ); @external( "linux_get_kernel_syms" );end linux;#endif //syscall_hhf
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -