OXIESEC PANEL
- Current Dir:
/
/
opt
/
golang
/
1.22.0
/
src
/
syscall
Server IP: 191.96.63.230
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
02/02/2024 06:09:55 PM
rwxr-xr-x
📄
asan.go
410 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
asan0.go
342 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
asm9_unix2_amd64.s
1.19 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
asm_aix_ppc64.s
540 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
asm_darwin_amd64.s
2.93 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
asm_darwin_arm64.s
2.83 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
asm_freebsd_arm.s
2.96 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
asm_freebsd_arm64.s
2.79 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
asm_freebsd_riscv64.s
2.76 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
asm_linux_386.s
3.08 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
asm_linux_amd64.s
1.33 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
asm_linux_arm.s
1.77 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
asm_linux_arm64.s
916 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
asm_linux_loong64.s
947 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
asm_linux_mips64x.s
985 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
asm_linux_mipsx.s
1.75 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
asm_linux_ppc64x.s
913 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
asm_linux_riscv64.s
861 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
asm_linux_s390x.s
2.15 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
asm_netbsd_arm.s
2.85 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
asm_netbsd_arm64.s
2.88 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
asm_openbsd_386.s
1.04 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
asm_openbsd_amd64.s
1.04 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
asm_openbsd_arm.s
1.04 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
asm_openbsd_arm64.s
1.04 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
asm_openbsd_mips64.s
2.85 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
asm_openbsd_ppc64.s
1.04 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
asm_openbsd_riscv64.s
1.04 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
asm_plan9_386.s
3.14 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
asm_plan9_amd64.s
3.36 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
asm_plan9_arm.s
3.25 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
asm_solaris_amd64.s
1.8 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
asm_unix_386.s
2.74 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
asm_unix_amd64.s
2.15 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
bpf_bsd.go
4.03 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
const_plan9.go
1.36 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
creds_test.go
3.37 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
dir_plan9.go
5.62 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
dirent.go
3.09 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
dirent_test.go
3.43 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
dll_windows.go
7.63 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
endian_big.go
249 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
endian_little.go
309 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
env_unix.go
2.73 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
env_windows.go
1.96 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
errors_plan9.go
1.61 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
exec_aix_test.go
823 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
exec_bsd.go
7.95 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
exec_freebsd.go
8.43 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
exec_freebsd_test.go
2.41 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
exec_libc.go
8.17 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
exec_libc2.go
8.19 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
exec_linux.go
22.81 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
exec_linux_test.go
20.37 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
exec_pdeathsig_test.go
4.49 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
exec_plan9.go
13.25 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
exec_solaris_test.go
815 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
exec_unix.go
8.63 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
exec_unix_test.go
8.28 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
exec_windows.go
10.3 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
exec_windows_test.go
3.11 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
export_darwin_test.go
348 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
export_linux_test.go
296 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
export_rlimit_test.go
262 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
export_unix_test.go
391 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
export_wasip1_test.go
267 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
export_windows_test.go
500 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
flock_aix.go
564 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
flock_bsd.go
469 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
flock_linux.go
641 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
flock_linux_32bit.go
511 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
forkpipe.go
604 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
forkpipe2.go
2.6 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
fs_js.go
10.84 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
fs_wasip1.go
24.07 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
fs_wasip1_test.go
1.98 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
getdirentries_test.go
2.07 KB
02/02/2024 06:09:55 PM
rw-r--r--
📁
js
-
02/02/2024 06:09:55 PM
rwxr-xr-x
📄
lsf_linux.go
2.12 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
mkall.sh
14.62 KB
02/02/2024 06:09:55 PM
rwxr-xr-x
📄
mkasm.go
1.88 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
mkerrors.sh
10.71 KB
02/02/2024 06:09:55 PM
rwxr-xr-x
📄
mkpost.go
2.28 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
mksyscall.pl
10.19 KB
02/02/2024 06:09:55 PM
rwxr-xr-x
📄
mksyscall_libc.pl
8.02 KB
02/02/2024 06:09:55 PM
rwxr-xr-x
📄
mksyscall_windows.go
1.99 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
mksysctl_openbsd.pl
5.04 KB
02/02/2024 06:09:55 PM
rwxr-xr-x
📄
mksysnum_dragonfly.pl
866 bytes
02/02/2024 06:09:55 PM
rwxr-xr-x
📄
mksysnum_freebsd.pl
1.35 KB
02/02/2024 06:09:55 PM
rwxr-xr-x
📄
mksysnum_linux.pl
1.26 KB
02/02/2024 06:09:55 PM
rwxr-xr-x
📄
mksysnum_netbsd.pl
1.01 KB
02/02/2024 06:09:55 PM
rwxr-xr-x
📄
mksysnum_openbsd.pl
872 bytes
02/02/2024 06:09:55 PM
rwxr-xr-x
📄
mksysnum_plan9.sh
459 bytes
02/02/2024 06:09:55 PM
rwxr-xr-x
📄
mmap_unix_test.go
500 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
msan.go
410 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
msan0.go
342 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
net.go
1.19 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
net_fake.go
883 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
net_js.go
1.38 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
net_wasip1.go
1.82 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
netlink_linux.go
4.77 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
os_wasip1.go
252 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
pwd_plan9.go
2.27 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
rlimit.go
1.59 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
rlimit_darwin.go
593 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
rlimit_stub.go
338 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
rlimit_test.go
953 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
route_bsd.go
9.1 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
route_darwin.go
2.01 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
route_dragonfly.go
2.61 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
route_freebsd.go
2.67 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
route_freebsd_32bit.go
1.14 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
route_freebsd_64bit.go
762 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
route_netbsd.go
1.43 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
route_openbsd.go
1.46 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
security_windows.go
10.01 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
setuidgid_32_linux.go
435 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
setuidgid_linux.go
421 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
sockcmsg_dragonfly.go
547 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
sockcmsg_linux.go
1.12 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
sockcmsg_unix.go
2.51 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
sockcmsg_unix_other.go
1.08 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall.go
3.78 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_aix.go
17.9 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_aix_ppc64.go
405 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_bsd.go
13.63 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_bsd_test.go
1.17 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_darwin.go
10.74 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_darwin_amd64.go
1.91 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_darwin_arm64.go
1.82 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_dragonfly.go
8.55 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_dragonfly_amd64.go
1.12 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_freebsd.go
8.72 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_freebsd_386.go
1.17 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_freebsd_amd64.go
1.12 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_freebsd_arm.go
1.16 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_freebsd_arm64.go
1.12 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_freebsd_riscv64.go
1.12 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_freebsd_test.go
424 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_illumos.go
613 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_js.go
6.71 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_linux.go
35.62 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_linux_386.go
10.34 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_linux_accept.go
961 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_linux_accept4.go
592 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_linux_amd64.go
4.78 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_linux_arm.go
7.05 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_linux_arm64.go
6.21 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_linux_loong64.go
7.08 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_linux_mips64x.go
5.98 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_linux_mipsx.go
6.85 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_linux_ppc64x.go
4.63 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_linux_riscv64.go
5.75 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_linux_s390x.go
7.9 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_linux_test.go
21.1 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_netbsd.go
7.78 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_netbsd_386.go
716 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_netbsd_amd64.go
709 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_netbsd_arm.go
716 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_netbsd_arm64.go
709 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_openbsd.go
6.97 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_openbsd1.go
534 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_openbsd_386.go
715 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_openbsd_amd64.go
701 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_openbsd_arm.go
715 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_openbsd_arm64.go
906 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_openbsd_libc.go
3.28 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_openbsd_mips64.go
970 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_openbsd_ppc64.go
906 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_openbsd_riscv64.go
906 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_plan9.go
9.37 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_plan9_test.go
1.15 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_ptrace_test.go
768 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_solaris.go
15.66 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_solaris_amd64.go
487 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_solarisonly.go
304 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_test.go
1.44 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_unix.go
12.11 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_unix_test.go
9.43 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_wasip1.go
9.37 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_windows.go
52.6 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
syscall_windows_test.go
5.73 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
tables_js.go
19.17 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
tables_wasip1.go
6.49 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
time_fake.go
677 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
time_nofake.go
351 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
timestruct.go
954 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
types_aix.go
3.35 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
types_darwin.go
5.03 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
types_dragonfly.go
5.05 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
types_freebsd.go
6.72 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
types_illumos_amd64.go
379 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
types_linux.go
10.9 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
types_netbsd.go
4.77 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
types_openbsd.go
5.04 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
types_solaris.go
4.88 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
types_windows.go
27.75 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
types_windows_386.go
477 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
types_windows_amd64.go
477 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
types_windows_arm.go
477 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
types_windows_arm64.go
477 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
wtf8_windows.go
2.67 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
wtf8_windows_test.go
4.31 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_aix_ppc64.go
47.16 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_darwin_amd64.go
55.28 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_darwin_arm64.go
55.79 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_dragonfly_amd64.go
59.62 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_freebsd_386.go
67.35 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_freebsd_amd64.go
67.4 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_freebsd_arm.go
67.34 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_freebsd_arm64.go
67.41 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_freebsd_riscv64.go
67.41 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_linux_386.go
57.36 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_linux_amd64.go
57.39 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_linux_arm.go
57.88 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_linux_arm64.go
68.57 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_linux_loong64.go
82.47 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_linux_mips.go
69.18 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_linux_mips64.go
68.5 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_linux_mips64le.go
68.5 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_linux_mipsle.go
69.18 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_linux_ppc64.go
70.89 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_linux_ppc64le.go
71.84 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_linux_riscv64.go
70.8 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_linux_s390x.go
73.28 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_netbsd_386.go
67.48 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_netbsd_amd64.go
67.07 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_netbsd_arm.go
66.49 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_netbsd_arm64.go
67.07 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_openbsd_386.go
62.52 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_openbsd_amd64.go
62.48 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_openbsd_arm.go
62.47 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_openbsd_arm64.go
66.36 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_openbsd_mips64.go
66.66 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_openbsd_ppc64.go
67.14 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_openbsd_riscv64.go
67.1 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_solaris_amd64.go
50.72 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zerrors_windows.go
9.97 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_aix_ppc64.go
41.4 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_darwin_amd64.go
51.72 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_darwin_amd64.s
8.7 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_darwin_arm64.go
51.67 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_darwin_arm64.s
8.67 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_dragonfly_amd64.go
31.67 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_freebsd_386.go
31.21 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_freebsd_amd64.go
31.07 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_freebsd_arm.go
31.23 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_freebsd_arm64.go
31.07 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_freebsd_riscv64.go
31.07 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_linux_386.go
34.68 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_linux_amd64.go
39.5 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_linux_arm.go
38.92 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_linux_arm64.go
37.81 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_linux_loong64.go
37.08 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_linux_mips.go
40.34 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_linux_mips64.go
40.34 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_linux_mips64le.go
40.35 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_linux_mipsle.go
40.34 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_linux_ppc64.go
40.98 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_linux_ppc64le.go
40.99 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_linux_riscv64.go
37.84 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_linux_s390x.go
35.3 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_netbsd_386.go
30.11 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_netbsd_amd64.go
29.97 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_netbsd_arm.go
30.12 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_netbsd_arm64.go
29.97 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_openbsd_386.go
48.07 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_openbsd_386.s
8.09 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_openbsd_amd64.go
47.92 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_openbsd_amd64.s
8.09 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_openbsd_arm.go
48.09 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_openbsd_arm.s
8.09 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_openbsd_arm64.go
47.92 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_openbsd_arm64.s
8.09 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_openbsd_mips64.go
30.05 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_openbsd_ppc64.go
47.92 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_openbsd_ppc64.s
8.78 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_openbsd_riscv64.go
47.93 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_openbsd_riscv64.s
8.09 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_plan9_386.go
6.17 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_plan9_amd64.go
6.18 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_plan9_arm.go
6.17 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_solaris_amd64.go
37.56 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsyscall_windows.go
56.73 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysctl_openbsd.go
11.39 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_darwin_amd64.go
14.55 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_darwin_arm64.go
14.39 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_dragonfly_amd64.go
22.94 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_freebsd_386.go
25.46 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_freebsd_amd64.go
25.46 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_freebsd_arm.go
25.46 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_freebsd_arm64.go
35.79 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_freebsd_riscv64.go
35.79 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_linux_386.go
11.27 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_linux_amd64.go
10.11 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_linux_arm.go
11.55 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_linux_arm64.go
8.95 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_linux_loong64.go
10.28 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_linux_mips.go
12.1 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_linux_mips64.go
10.93 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_linux_mips64le.go
10.93 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_linux_mipsle.go
12.1 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_linux_ppc64.go
11.47 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_linux_ppc64le.go
11.49 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_linux_riscv64.go
8.88 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_linux_s390x.go
10.64 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_netbsd_386.go
25.69 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_netbsd_amd64.go
25.69 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_netbsd_arm.go
25.69 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_netbsd_arm64.go
25.69 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_openbsd_386.go
14.16 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_openbsd_amd64.go
14.16 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_openbsd_arm.go
14.46 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_openbsd_arm64.go
14.72 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_openbsd_mips64.go
14.93 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_openbsd_ppc64.go
15.83 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_openbsd_riscv64.go
15.67 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_plan9.go
1.03 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
zsysnum_solaris_amd64.go
293 bytes
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_aix_ppc64.go
4.17 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_darwin_amd64.go
6.95 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_darwin_arm64.go
6.95 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_dragonfly_amd64.go
6.7 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_freebsd_386.go
8 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_freebsd_amd64.go
8.03 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_freebsd_arm.go
8.03 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_freebsd_arm64.go
8.03 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_freebsd_riscv64.go
8.03 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_linux_386.go
11.58 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_linux_amd64.go
11.95 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_linux_arm.go
11.47 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_linux_arm64.go
10.16 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_linux_loong64.go
10.77 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_linux_mips.go
9.96 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_linux_mips64.go
10.08 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_linux_mips64le.go
10.08 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_linux_mipsle.go
9.96 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_linux_ppc64.go
10.25 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_linux_ppc64le.go
10.38 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_linux_riscv64.go
10.23 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_linux_s390x.go
10.44 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_netbsd_386.go
5.99 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_netbsd_amd64.go
6.17 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_netbsd_arm.go
6.13 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_netbsd_arm64.go
6.17 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_openbsd_386.go
6.73 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_openbsd_amd64.go
6.89 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_openbsd_arm.go
6.84 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_openbsd_arm64.go
6.66 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_openbsd_mips64.go
6.66 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_openbsd_ppc64.go
6.69 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_openbsd_riscv64.go
6.69 KB
02/02/2024 06:09:55 PM
rw-r--r--
📄
ztypes_solaris_amd64.go
5.57 KB
02/02/2024 06:09:55 PM
rw-r--r--
Editing: exec_windows.go
Close
// Copyright 2009 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // Fork, exec, wait, etc. package syscall import ( "internal/bytealg" "runtime" "sync" "unicode/utf16" "unsafe" ) // ForkLock is not used on Windows. var ForkLock sync.RWMutex // EscapeArg rewrites command line argument s as prescribed // in https://msdn.microsoft.com/en-us/library/ms880421. // This function returns "" (2 double quotes) if s is empty. // Alternatively, these transformations are done: // - every back slash (\) is doubled, but only if immediately // followed by double quote ("); // - every double quote (") is escaped by back slash (\); // - finally, s is wrapped with double quotes (arg -> "arg"), // but only if there is space or tab inside s. func EscapeArg(s string) string { if len(s) == 0 { return `""` } for i := 0; i < len(s); i++ { switch s[i] { case '"', '\\', ' ', '\t': // Some escaping required. b := make([]byte, 0, len(s)+2) b = appendEscapeArg(b, s) return string(b) } } return s } // appendEscapeArg escapes the string s, as per escapeArg, // appends the result to b, and returns the updated slice. func appendEscapeArg(b []byte, s string) []byte { if len(s) == 0 { return append(b, `""`...) } needsBackslash := false hasSpace := false for i := 0; i < len(s); i++ { switch s[i] { case '"', '\\': needsBackslash = true case ' ', '\t': hasSpace = true } } if !needsBackslash && !hasSpace { // No special handling required; normal case. return append(b, s...) } if !needsBackslash { // hasSpace is true, so we need to quote the string. b = append(b, '"') b = append(b, s...) return append(b, '"') } if hasSpace { b = append(b, '"') } slashes := 0 for i := 0; i < len(s); i++ { c := s[i] switch c { default: slashes = 0 case '\\': slashes++ case '"': for ; slashes > 0; slashes-- { b = append(b, '\\') } b = append(b, '\\') } b = append(b, c) } if hasSpace { for ; slashes > 0; slashes-- { b = append(b, '\\') } b = append(b, '"') } return b } // makeCmdLine builds a command line out of args by escaping "special" // characters and joining the arguments with spaces. func makeCmdLine(args []string) string { var b []byte for _, v := range args { if len(b) > 0 { b = append(b, ' ') } b = appendEscapeArg(b, v) } return string(b) } // createEnvBlock converts an array of environment strings into // the representation required by CreateProcess: a sequence of NUL // terminated strings followed by a nil. // Last bytes are two UCS-2 NULs, or four NUL bytes. // If any string contains a NUL, it returns (nil, EINVAL). func createEnvBlock(envv []string) ([]uint16, error) { if len(envv) == 0 { return utf16.Encode([]rune("\x00\x00")), nil } var length int for _, s := range envv { if bytealg.IndexByteString(s, 0) != -1 { return nil, EINVAL } length += len(s) + 1 } length += 1 b := make([]uint16, 0, length) for _, s := range envv { for _, c := range s { b = utf16.AppendRune(b, c) } b = utf16.AppendRune(b, 0) } b = utf16.AppendRune(b, 0) return b, nil } func CloseOnExec(fd Handle) { SetHandleInformation(Handle(fd), HANDLE_FLAG_INHERIT, 0) } func SetNonblock(fd Handle, nonblocking bool) (err error) { return nil } // FullPath retrieves the full path of the specified file. func FullPath(name string) (path string, err error) { p, err := UTF16PtrFromString(name) if err != nil { return "", err } n := uint32(100) for { buf := make([]uint16, n) n, err = GetFullPathName(p, uint32(len(buf)), &buf[0], nil) if err != nil { return "", err } if n <= uint32(len(buf)) { return UTF16ToString(buf[:n]), nil } } } func isSlash(c uint8) bool { return c == '\\' || c == '/' } func normalizeDir(dir string) (name string, err error) { ndir, err := FullPath(dir) if err != nil { return "", err } if len(ndir) > 2 && isSlash(ndir[0]) && isSlash(ndir[1]) { // dir cannot have \\server\share\path form return "", EINVAL } return ndir, nil } func volToUpper(ch int) int { if 'a' <= ch && ch <= 'z' { ch += 'A' - 'a' } return ch } func joinExeDirAndFName(dir, p string) (name string, err error) { if len(p) == 0 { return "", EINVAL } if len(p) > 2 && isSlash(p[0]) && isSlash(p[1]) { // \\server\share\path form return p, nil } if len(p) > 1 && p[1] == ':' { // has drive letter if len(p) == 2 { return "", EINVAL } if isSlash(p[2]) { return p, nil } else { d, err := normalizeDir(dir) if err != nil { return "", err } if volToUpper(int(p[0])) == volToUpper(int(d[0])) { return FullPath(d + "\\" + p[2:]) } else { return FullPath(p) } } } else { // no drive letter d, err := normalizeDir(dir) if err != nil { return "", err } if isSlash(p[0]) { return FullPath(d[:2] + p) } else { return FullPath(d + "\\" + p) } } } type ProcAttr struct { Dir string Env []string Files []uintptr Sys *SysProcAttr } type SysProcAttr struct { HideWindow bool CmdLine string // used if non-empty, else the windows command line is built by escaping the arguments passed to StartProcess CreationFlags uint32 Token Token // if set, runs new process in the security context represented by the token ProcessAttributes *SecurityAttributes // if set, applies these security attributes as the descriptor for the new process ThreadAttributes *SecurityAttributes // if set, applies these security attributes as the descriptor for the main thread of the new process NoInheritHandles bool // if set, no handles are inherited by the new process, not even the standard handles, contained in ProcAttr.Files, nor the ones contained in AdditionalInheritedHandles AdditionalInheritedHandles []Handle // a list of additional handles, already marked as inheritable, that will be inherited by the new process ParentProcess Handle // if non-zero, the new process regards the process given by this handle as its parent process, and AdditionalInheritedHandles, if set, should exist in this parent process } var zeroProcAttr ProcAttr var zeroSysProcAttr SysProcAttr func StartProcess(argv0 string, argv []string, attr *ProcAttr) (pid int, handle uintptr, err error) { if len(argv0) == 0 { return 0, 0, EWINDOWS } if attr == nil { attr = &zeroProcAttr } sys := attr.Sys if sys == nil { sys = &zeroSysProcAttr } if len(attr.Files) > 3 { return 0, 0, EWINDOWS } if len(attr.Files) < 3 { return 0, 0, EINVAL } if len(attr.Dir) != 0 { // StartProcess assumes that argv0 is relative to attr.Dir, // because it implies Chdir(attr.Dir) before executing argv0. // Windows CreateProcess assumes the opposite: it looks for // argv0 relative to the current directory, and, only once the new // process is started, it does Chdir(attr.Dir). We are adjusting // for that difference here by making argv0 absolute. var err error argv0, err = joinExeDirAndFName(attr.Dir, argv0) if err != nil { return 0, 0, err } } argv0p, err := UTF16PtrFromString(argv0) if err != nil { return 0, 0, err } var cmdline string // Windows CreateProcess takes the command line as a single string: // use attr.CmdLine if set, else build the command line by escaping // and joining each argument with spaces if sys.CmdLine != "" { cmdline = sys.CmdLine } else { cmdline = makeCmdLine(argv) } var argvp *uint16 if len(cmdline) != 0 { argvp, err = UTF16PtrFromString(cmdline) if err != nil { return 0, 0, err } } var dirp *uint16 if len(attr.Dir) != 0 { dirp, err = UTF16PtrFromString(attr.Dir) if err != nil { return 0, 0, err } } p, _ := GetCurrentProcess() parentProcess := p if sys.ParentProcess != 0 { parentProcess = sys.ParentProcess } fd := make([]Handle, len(attr.Files)) for i := range attr.Files { if attr.Files[i] > 0 { err := DuplicateHandle(p, Handle(attr.Files[i]), parentProcess, &fd[i], 0, true, DUPLICATE_SAME_ACCESS) if err != nil { return 0, 0, err } defer DuplicateHandle(parentProcess, fd[i], 0, nil, 0, false, DUPLICATE_CLOSE_SOURCE) } } si := new(_STARTUPINFOEXW) si.ProcThreadAttributeList, err = newProcThreadAttributeList(2) if err != nil { return 0, 0, err } defer deleteProcThreadAttributeList(si.ProcThreadAttributeList) si.Cb = uint32(unsafe.Sizeof(*si)) si.Flags = STARTF_USESTDHANDLES if sys.HideWindow { si.Flags |= STARTF_USESHOWWINDOW si.ShowWindow = SW_HIDE } if sys.ParentProcess != 0 { err = updateProcThreadAttribute(si.ProcThreadAttributeList, 0, _PROC_THREAD_ATTRIBUTE_PARENT_PROCESS, unsafe.Pointer(&sys.ParentProcess), unsafe.Sizeof(sys.ParentProcess), nil, nil) if err != nil { return 0, 0, err } } si.StdInput = fd[0] si.StdOutput = fd[1] si.StdErr = fd[2] fd = append(fd, sys.AdditionalInheritedHandles...) // The presence of a NULL handle in the list is enough to cause PROC_THREAD_ATTRIBUTE_HANDLE_LIST // to treat the entire list as empty, so remove NULL handles. j := 0 for i := range fd { if fd[i] != 0 { fd[j] = fd[i] j++ } } fd = fd[:j] willInheritHandles := len(fd) > 0 && !sys.NoInheritHandles // Do not accidentally inherit more than these handles. if willInheritHandles { err = updateProcThreadAttribute(si.ProcThreadAttributeList, 0, _PROC_THREAD_ATTRIBUTE_HANDLE_LIST, unsafe.Pointer(&fd[0]), uintptr(len(fd))*unsafe.Sizeof(fd[0]), nil, nil) if err != nil { return 0, 0, err } } envBlock, err := createEnvBlock(attr.Env) if err != nil { return 0, 0, err } pi := new(ProcessInformation) flags := sys.CreationFlags | CREATE_UNICODE_ENVIRONMENT | _EXTENDED_STARTUPINFO_PRESENT if sys.Token != 0 { err = CreateProcessAsUser(sys.Token, argv0p, argvp, sys.ProcessAttributes, sys.ThreadAttributes, willInheritHandles, flags, &envBlock[0], dirp, &si.StartupInfo, pi) } else { err = CreateProcess(argv0p, argvp, sys.ProcessAttributes, sys.ThreadAttributes, willInheritHandles, flags, &envBlock[0], dirp, &si.StartupInfo, pi) } if err != nil { return 0, 0, err } defer CloseHandle(Handle(pi.Thread)) runtime.KeepAlive(fd) runtime.KeepAlive(sys) return int(pi.ProcessId), uintptr(pi.Process), nil } func Exec(argv0 string, argv []string, envv []string) (err error) { return EWINDOWS }