head 1.79; access; symbols netbsd-10-2-RELEASE:1.67 netbsd-9-5-RELEASE:1.60 netbsd-11-0-RELEASE:1.75 netbsd-11-0-RC7:1.75 netbsd-11-0-RC6:1.75 netbsd-11-0-RC5:1.75 netbsd-11-0-RC4:1.75 netbsd-11-0-RC3:1.75 netbsd-11-0-RC2:1.75 netbsd-11-0-RC1:1.75 perseant-exfatfs-base-20250801:1.75 netbsd-11:1.75.0.2 netbsd-11-base:1.75 netbsd-10-1-RELEASE:1.67 perseant-exfatfs-base-20240630:1.73 perseant-exfatfs:1.73.0.2 perseant-exfatfs-base:1.73 netbsd-8-3-RELEASE:1.60 netbsd-9-4-RELEASE:1.60 netbsd-10-0-RELEASE:1.67 netbsd-10-0-RC6:1.67 netbsd-10-0-RC5:1.67 netbsd-10-0-RC4:1.67 netbsd-10-0-RC3:1.67 netbsd-10-0-RC2:1.67 thorpej-ifq:1.72.0.4 thorpej-ifq-base:1.72 thorpej-altq-separation:1.72.0.2 thorpej-altq-separation-base:1.72 netbsd-10-0-RC1:1.67 netbsd-10:1.67.0.4 netbsd-10-base:1.67 bouyer-sunxi-drm:1.67.0.2 bouyer-sunxi-drm-base:1.67 netbsd-9-3-RELEASE:1.60 thorpej-i2c-spi-conf2:1.62.0.16 thorpej-i2c-spi-conf2-base:1.62 thorpej-futex2:1.62.0.14 thorpej-futex2-base:1.62 thorpej-cfargs2:1.62.0.12 thorpej-cfargs2-base:1.62 cjep_sun2x-base1:1.62 cjep_sun2x:1.62.0.10 cjep_sun2x-base:1.62 cjep_staticlib_x-base1:1.62 netbsd-9-2-RELEASE:1.60 cjep_staticlib_x:1.62.0.8 cjep_staticlib_x-base:1.62 thorpej-i2c-spi-conf:1.62.0.6 thorpej-i2c-spi-conf-base:1.62 thorpej-cfargs:1.62.0.4 thorpej-cfargs-base:1.62 thorpej-futex:1.62.0.2 thorpej-futex-base:1.62 netbsd-9-1-RELEASE:1.60 bouyer-xenpvh-base2:1.61 phil-wifi-20200421:1.61 bouyer-xenpvh-base1:1.61 phil-wifi-20200411:1.61 bouyer-xenpvh:1.61.0.6 bouyer-xenpvh-base:1.61 is-mlppp:1.61.0.4 is-mlppp-base:1.61 phil-wifi-20200406:1.61 netbsd-8-2-RELEASE:1.60 ad-namecache-base3:1.61 netbsd-9-0-RELEASE:1.60 netbsd-9-0-RC2:1.60 ad-namecache-base2:1.61 ad-namecache-base1:1.61 ad-namecache:1.61.0.2 ad-namecache-base:1.61 netbsd-9-0-RC1:1.60 phil-wifi-20191119:1.61 netbsd-9:1.60.0.18 netbsd-9-base:1.60 phil-wifi-20190609:1.60 netbsd-8-1-RELEASE:1.60 netbsd-8-1-RC1:1.60 isaki-audio2:1.60.0.16 isaki-audio2-base:1.60 pgoyette-compat-merge-20190127:1.60 pgoyette-compat-20190127:1.60 pgoyette-compat-20190118:1.60 pgoyette-compat-1226:1.60 pgoyette-compat-1126:1.60 pgoyette-compat-1020:1.60 pgoyette-compat-0930:1.60 pgoyette-compat-0906:1.60 netbsd-7-2-RELEASE:1.52.2.1 pgoyette-compat-0728:1.60 netbsd-8-0-RELEASE:1.60 phil-wifi:1.60.0.14 phil-wifi-base:1.60 pgoyette-compat-0625:1.60 netbsd-8-0-RC2:1.60 pgoyette-compat-0521:1.60 pgoyette-compat-0502:1.60 pgoyette-compat-0422:1.60 netbsd-8-0-RC1:1.60 pgoyette-compat-0415:1.60 pgoyette-compat-0407:1.60 pgoyette-compat-0330:1.60 pgoyette-compat-0322:1.60 pgoyette-compat-0315:1.60 netbsd-7-1-2-RELEASE:1.52 pgoyette-compat:1.60.0.12 pgoyette-compat-base:1.60 netbsd-7-1-1-RELEASE:1.52 tls-maxphys-base-20171202:1.60 matt-nb8-mediatek:1.60.0.10 matt-nb8-mediatek-base:1.60 nick-nhusb-base-20170825:1.60 perseant-stdc-iso10646:1.60.0.8 perseant-stdc-iso10646-base:1.60 netbsd-8:1.60.0.6 netbsd-8-base:1.60 prg-localcount2-base3:1.60 prg-localcount2-base2:1.60 prg-localcount2-base1:1.60 prg-localcount2:1.60.0.4 prg-localcount2-base:1.60 pgoyette-localcount-20170426:1.60 bouyer-socketcan-base1:1.60 jdolecek-ncq:1.60.0.2 jdolecek-ncq-base:1.60 pgoyette-localcount-20170320:1.60 netbsd-7-1:1.52.0.8 netbsd-7-1-RELEASE:1.52 netbsd-7-1-RC2:1.52 nick-nhusb-base-20170204:1.60 netbsd-7-nhusb-base-20170116:1.52 bouyer-socketcan:1.58.0.2 bouyer-socketcan-base:1.58 pgoyette-localcount-20170107:1.58 netbsd-7-1-RC1:1.52 nick-nhusb-base-20161204:1.57 pgoyette-localcount-20161104:1.57 netbsd-7-0-2-RELEASE:1.52 nick-nhusb-base-20161004:1.57 localcount-20160914:1.57 netbsd-7-nhusb:1.52.0.6 netbsd-7-nhusb-base:1.52 pgoyette-localcount-20160806:1.57 pgoyette-localcount-20160726:1.57 pgoyette-localcount:1.56.0.2 pgoyette-localcount-base:1.56 nick-nhusb-base-20160907:1.56 nick-nhusb-base-20160529:1.56 netbsd-7-0-1-RELEASE:1.52 nick-nhusb-base-20160422:1.56 nick-nhusb-base-20160319:1.56 nick-nhusb-base-20151226:1.56 netbsd-7-0:1.52.0.4 netbsd-7-0-RELEASE:1.52 nick-nhusb-base-20150921:1.55 netbsd-7-0-RC3:1.52 netbsd-7-0-RC2:1.52 netbsd-7-0-RC1:1.52 nick-nhusb-base-20150606:1.55 nick-nhusb-base-20150406:1.54 nick-nhusb:1.53.0.2 nick-nhusb-base:1.53 netbsd-5-2-3-RELEASE:1.24.4.1 netbsd-5-1-5-RELEASE:1.24.4.1 netbsd-6-0-6-RELEASE:1.40 netbsd-6-1-5-RELEASE:1.40 netbsd-7:1.52.0.2 netbsd-7-base:1.52 yamt-pagecache-base9:1.48 yamt-pagecache-tag8:1.39.2.2 netbsd-6-1-4-RELEASE:1.40 netbsd-6-0-5-RELEASE:1.40 tls-earlyentropy:1.46.0.2 tls-earlyentropy-base:1.52 riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.46 riastradh-drm2-base3:1.46 netbsd-6-1-3-RELEASE:1.40 netbsd-6-0-4-RELEASE:1.40 netbsd-5-2-2-RELEASE:1.24.4.1 netbsd-5-1-4-RELEASE:1.24.4.1 netbsd-6-1-2-RELEASE:1.40 netbsd-6-0-3-RELEASE:1.40 netbsd-5-2-1-RELEASE:1.24.4.1 netbsd-5-1-3-RELEASE:1.24.4.1 rmind-smpnet-nbase:1.49 netbsd-6-1-1-RELEASE:1.40 riastradh-drm2-base2:1.42 riastradh-drm2-base1:1.42 riastradh-drm2:1.42.0.6 riastradh-drm2-base:1.42 rmind-smpnet:1.42.0.4 rmind-smpnet-base:1.49 netbsd-6-1:1.40.0.14 netbsd-6-0-2-RELEASE:1.40 netbsd-6-1-RELEASE:1.40 khorben-n900:1.42.0.2 netbsd-6-1-RC4:1.40 netbsd-6-1-RC3:1.40 agc-symver:1.41.0.4 agc-symver-base:1.41 netbsd-6-1-RC2:1.40 netbsd-6-1-RC1:1.40 yamt-pagecache-base8:1.41 netbsd-5-2:1.24.4.1.0.10 netbsd-6-0-1-RELEASE:1.40 yamt-pagecache-base7:1.41 netbsd-5-2-RELEASE:1.24.4.1 netbsd-5-2-RC1:1.24.4.1 matt-nb6-plus-nbase:1.40 yamt-pagecache-base6:1.41 netbsd-6-0:1.40.0.12 netbsd-6-0-RELEASE:1.40 netbsd-6-0-RC2:1.40 tls-maxphys:1.40.0.10 tls-maxphys-base:1.52 matt-nb6-plus:1.40.0.8 matt-nb6-plus-base:1.40 netbsd-6-0-RC1:1.40 jmcneill-usbmp-base10:1.40 yamt-pagecache-base5:1.40 jmcneill-usbmp-base9:1.40 yamt-pagecache-base4:1.40 jmcneill-usbmp-base8:1.40 jmcneill-usbmp-base7:1.40 jmcneill-usbmp-base6:1.40 jmcneill-usbmp-base5:1.40 jmcneill-usbmp-base4:1.40 jmcneill-usbmp-base3:1.40 jmcneill-usbmp-pre-base2:1.40 jmcneill-usbmp-base2:1.40 netbsd-6:1.40.0.6 netbsd-6-base:1.40 netbsd-5-1-2-RELEASE:1.24.4.1 netbsd-5-1-1-RELEASE:1.24.4.1 jmcneill-usbmp:1.40.0.4 jmcneill-usbmp-base:1.40 jmcneill-audiomp3:1.40.0.2 jmcneill-audiomp3-base:1.40 yamt-pagecache-base3:1.39 yamt-pagecache-base2:1.39 yamt-pagecache:1.39.0.2 yamt-pagecache-base:1.39 rmind-uvmplock-nbase:1.37 cherry-xenmp:1.37.0.2 cherry-xenmp-base:1.37 bouyer-quota2-nbase:1.35 bouyer-quota2:1.35.0.4 bouyer-quota2-base:1.35 jruoho-x86intr:1.35.0.2 jruoho-x86intr-base:1.35 matt-mips64-premerge-20101231:1.35 matt-nb5-mips64-premerge-20101231:1.24.4.1 matt-nb5-pq3:1.24.4.1.0.8 matt-nb5-pq3-base:1.24.4.1 netbsd-5-1:1.24.4.1.0.6 netbsd-5-1-RELEASE:1.24.4.1 uebayasi-xip-base4:1.35 uebayasi-xip-base3:1.35 yamt-nfs-mp-base11:1.35 netbsd-5-1-RC4:1.24.4.1 matt-nb5-mips64-k15:1.24.4.1 uebayasi-xip-base2:1.35 yamt-nfs-mp-base10:1.35 netbsd-5-1-RC3:1.24.4.1 netbsd-5-1-RC2:1.24.4.1 uebayasi-xip-base1:1.34 netbsd-5-1-RC1:1.24.4.1 rmind-uvmplock:1.34.0.4 rmind-uvmplock-base:1.37 yamt-nfs-mp-base9:1.34 uebayasi-xip:1.34.0.2 uebayasi-xip-base:1.34 netbsd-5-0-2-RELEASE:1.24.4.1 matt-nb5-mips64-premerge-20091211:1.24.4.1 matt-premerge-20091211:1.34 yamt-nfs-mp-base8:1.32 matt-nb5-mips64-u2-k2-k4-k7-k8-k9:1.24.4.1 matt-nb4-mips64-k7-u2a-k9b:1.24.4.1 matt-nb5-mips64-u1-k1-k5:1.24.4.1 yamt-nfs-mp-base7:1.32 matt-nb5-mips64:1.24.4.1.0.4 netbsd-5-0-1-RELEASE:1.24.4.1 jymxensuspend-base:1.32 yamt-nfs-mp-base6:1.32 yamt-nfs-mp-base5:1.32 yamt-nfs-mp-base4:1.30 jym-xensuspend-nbase:1.33 yamt-nfs-mp-base3:1.30 nick-hppapmap-base4:1.30 nick-hppapmap-base3:1.30 netbsd-5-0:1.24.4.1.0.2 netbsd-5-0-RELEASE:1.24.4.1 netbsd-5-0-RC4:1.24.4.1 netbsd-5-0-RC3:1.24.4.1 nick-hppapmap-base2:1.30 netbsd-5-0-RC2:1.24.4.1 jym-xensuspend:1.30.0.2 jym-xensuspend-base:1.30 netbsd-5-0-RC1:1.24.4.1 christos-time_t-nbase:1.26 christos-time_t-base:1.26 christos-time_t:1.26.0.4 haad-dm-base2:1.26 haad-nbase2:1.26 ad-audiomp2:1.26.0.2 ad-audiomp2-base:1.26 netbsd-5:1.24.0.4 netbsd-5-base:1.24 nick-hppapmap:1.24.0.2 nick-hppapmap-base:1.30 matt-mips64-base2:1.23 matt-mips64:1.18.0.20 haad-dm-base1:1.23 wrstuden-revivesa-base-4:1.23 netbsd-4-0-1-RELEASE:1.15.6.1 wrstuden-revivesa-base-3:1.23 wrstuden-revivesa-base-2:1.23 wrstuden-fixsa-newbase:1.15.6.1 nick-csl-alignment-base5:1.18 haad-dm:1.23.0.10 haad-dm-base:1.26 wrstuden-revivesa-base-1:1.23 simonb-wapbl-nbase:1.23 yamt-pf42-base4:1.23 simonb-wapbl:1.23.0.8 simonb-wapbl-base:1.23 yamt-pf42-base3:1.23 hpcarm-cleanup-nbase:1.23 yamt-pf42-baseX:1.23 yamt-pf42-base2:1.23 yamt-nfs-mp-base2:1.23 wrstuden-revivesa:1.23.0.6 wrstuden-revivesa-base:1.23 yamt-nfs-mp:1.23.0.4 yamt-nfs-mp-base:1.23 yamt-pf42:1.23.0.2 yamt-pf42-base:1.23 ad-socklock-base1:1.22 yamt-lazymbuf-base15:1.22 yamt-lazymbuf-base14:1.22 keiichi-mipv6-nbase:1.22 mjf-devfs2:1.22.0.6 mjf-devfs2-base:1.29 nick-net80211-sync:1.22.0.4 nick-net80211-sync-base:1.22 keiichi-mipv6:1.22.0.2 keiichi-mipv6-base:1.22 bouyer-xeni386-merge1:1.19.6.1 matt-armv6-prevmlocking:1.18 wrstuden-fixsa-base-1:1.15.6.1 vmlocking2-base3:1.22 netbsd-4-0:1.15.6.1.0.6 netbsd-4-0-RELEASE:1.15.6.1 bouyer-xeni386-nbase:1.22 yamt-kmem-base3:1.19 cube-autoconf:1.19.0.8 cube-autoconf-base:1.19 yamt-kmem-base2:1.19 bouyer-xeni386:1.19.0.6 bouyer-xeni386-base:1.22 yamt-kmem:1.19.0.4 yamt-kmem-base:1.19 vmlocking2-base2:1.19 reinoud-bufcleanup-nbase:1.19 vmlocking2:1.19.0.2 vmlocking2-base1:1.19 netbsd-4-0-RC5:1.15.6.1 matt-nb4-arm:1.15.6.1.0.4 matt-nb4-arm-base:1.15.6.1 matt-armv6-nbase:1.22 jmcneill-base:1.18 netbsd-4-0-RC4:1.15.6.1 mjf-devfs:1.18.0.18 mjf-devfs-base:1.22 bouyer-xenamd64-base2:1.19 vmlocking-nbase:1.19 yamt-x86pmap-base4:1.18 bouyer-xenamd64:1.18.0.16 bouyer-xenamd64-base:1.19 netbsd-4-0-RC3:1.15.6.1 yamt-x86pmap-base3:1.18 yamt-x86pmap-base2:1.18 netbsd-4-0-RC2:1.15.6.1 yamt-x86pmap:1.18.0.14 yamt-x86pmap-base:1.18 netbsd-4-0-RC1:1.15.6.1 matt-armv6:1.18.0.12 matt-armv6-base:1.22 matt-mips64-base:1.18 jmcneill-pm:1.18.0.10 jmcneill-pm-base:1.19 hpcarm-cleanup:1.18.0.8 hpcarm-cleanup-base:1.22 nick-csl-alignment:1.18.0.6 nick-csl-alignment-base:1.18 yamt-idlelwp-base8:1.18 wrstuden-fixsa:1.15.6.1.0.2 wrstuden-fixsa-base:1.15.6.1 thorpej-atomic:1.18.0.4 thorpej-atomic-base:1.18 reinoud-bufcleanup:1.18.0.2 reinoud-bufcleanup-base:1.19 mjf-ufs-trans:1.17.0.4 mjf-ufs-trans-base:1.18 vmlocking:1.17.0.2 vmlocking-base:1.18 ad-audiomp:1.16.0.4 ad-audiomp-base:1.16 yamt-idlelwp:1.16.0.2 post-newlock2-merge:1.16 newlock2-nbase:1.15 yamt-splraiseipl-base5:1.15 yamt-splraiseipl-base4:1.15 yamt-splraiseipl-base3:1.15 abandoned-netbsd-4-base:1.12 abandoned-netbsd-4:1.12.0.2 yamt-splraiseipl-base2:1.15 yamt-splraiseipl:1.15.0.4 yamt-splraiseipl-base:1.15 yamt-pdpolicy-base9:1.15 newlock2:1.15.0.2 newlock2-base:1.15 yamt-pdpolicy-base8:1.15 yamt-pdpolicy-base7:1.12 netbsd-4:1.15.0.6 netbsd-4-base:1.15 yamt-pdpolicy-base6:1.12 chap-midi-nbase:1.11 gdamore-uart:1.11.0.2 gdamore-uart-base:1.11 simonb-timcounters-final:1.9.6.1 yamt-pdpolicy-base5:1.10 chap-midi:1.10.0.8 chap-midi-base:1.11 yamt-pdpolicy-base4:1.10 yamt-pdpolicy-base3:1.10 peter-altq-base:1.10 peter-altq:1.10.0.6 yamt-pdpolicy-base2:1.10 elad-kernelauth-base:1.10 elad-kernelauth:1.10.0.4 yamt-pdpolicy:1.10.0.2 yamt-pdpolicy-base:1.10 yamt-uio_vmspace-base5:1.10 simonb-timecounters:1.9.0.6 simonb-timecounters-base:1.10 rpaulo-netinet-merge-pcb:1.9.0.4 rpaulo-netinet-merge-pcb-base:1.15 yamt-uio_vmspace:1.9.0.2 yamt-readahead-base3:1.9 yamt-readahead-base2:1.8 yamt-readahead-pervnode:1.8 yamt-readahead-perfile:1.8 yamt-readahead:1.8.0.4 yamt-readahead-base:1.8 ktrace-lwp-base:1.9 ktrace-lwp:1.8.0.2 yamt-vop-base3:1.6 yamt-vop-base2:1.6 thorpej-vnode-attr:1.6.0.4 thorpej-vnode-attr-base:1.6 yamt-vop:1.6.0.2 yamt-vop-base:1.6 yamt-lazymbuf:1.5.0.2; locks; strict; comment @# @; 1.79 date 2026.09.11.13.55.42; author sborrill; state Exp; branches; next 1.78; commitid bYn4pRz3ymzw1dVG; 1.78 date 2025.11.10.15.41.38; author christos; state Exp; branches; next 1.77; commitid 4SBgjNJyEQqMp1iG; 1.77 date 2025.11.10.15.34.03; author christos; state Exp; branches; next 1.76; commitid d7uOeAT2cbx2n1iG; 1.76 date 2025.10.26.16.19.05; author christos; state Exp; branches; next 1.75; commitid 95eOYwXVI4kn66gG; 1.75 date 2024.09.28.19.35.55; author christos; state Exp; branches; next 1.74; commitid fAPNzINKOT8BOBrF; 1.74 date 2024.07.01.01.35.52; author christos; state Exp; branches; next 1.73; commitid N1OpVh0jGoxTH4gF; 1.73 date 2024.06.29.13.46.09; author christos; state Exp; branches 1.73.2.1; next 1.72; commitid jf6SXx4AuJarOSfF; 1.72 date 2023.08.19.17.49.49; author christos; state Exp; branches; next 1.71; commitid lq1Gy3ELP29XhqBE; 1.71 date 2023.08.18.19.41.19; author christos; state Exp; branches; next 1.70; commitid 6tkBFnqdux91WiBE; 1.70 date 2023.07.29.15.04.28; author christos; state Exp; branches; next 1.69; commitid IPtJp17rLysK2IyE; 1.69 date 2023.07.28.18.19.00; author christos; state Exp; branches; next 1.68; commitid v5JxtHEHo0Vx9ByE; 1.68 date 2023.07.10.02.31.55; author christos; state Exp; branches; next 1.67; commitid 9XiY3k2ciTjmucwE; 1.67 date 2021.12.02.04.29.48; author ryo; state Exp; branches; next 1.66; commitid mKCsBN5foUfbX1jD; 1.66 date 2021.09.20.02.20.02; author thorpej; state Exp; branches; next 1.65; commitid K8mXaSHdBZI2AD9D; 1.65 date 2021.09.20.00.09.01; author thorpej; state Exp; branches; next 1.64; commitid iO2ZHyElTHo8RC9D; 1.64 date 2021.09.19.23.51.36; author thorpej; state Exp; branches; next 1.63; commitid pcMYBy9yows8LC9D; 1.63 date 2021.09.19.23.01.49; author thorpej; state Exp; branches; next 1.62; commitid b0960e1aU60LtC9D; 1.62 date 2020.04.26.18.53.32; author thorpej; state Exp; branches 1.62.2.1; next 1.61; commitid xaklHg2Aa3B2wV5C; 1.61 date 2019.11.09.23.44.31; author jdolecek; state Exp; branches; next 1.60; commitid yAyQ8W3yCAgtyeKB; 1.60 date 2017.02.03.16.18.19; author christos; state Exp; branches 1.60.14.1; next 1.59; commitid 9jcuh9wYvDPHxwEz; 1.59 date 2017.02.02.15.35.46; author christos; state Exp; branches; next 1.58; commitid m0TOyMGxnwTZkoEz; 1.58 date 2017.01.02.16.32.09; author manu; state Exp; branches 1.58.2.1; next 1.57; commitid vJoAF8edwNK6EpAz; 1.57 date 2016.07.24.13.22.01; author njoly; state Exp; branches; next 1.56; commitid bnXTVJJG4fKENzfz; 1.56 date 2015.10.27.07.15.38; author njoly; state Exp; branches 1.56.2.1; next 1.55; commitid 84NGa2Ex3FE8uIGy; 1.55 date 2015.05.31.10.49.27; author njoly; state Exp; branches; next 1.54; commitid 09U9tiulvTwosAny; 1.54 date 2015.03.07.03.25.19; author christos; state Exp; branches; next 1.53; commitid SoT2ngl23MCzJCcy; 1.53 date 2014.11.22.13.18.45; author njoly; state Exp; branches 1.53.2.1; next 1.52; commitid 0FWhzDEIuYnpobZx; 1.52 date 2014.05.31.08.51.19; author njoly; state Exp; branches 1.52.2.1; next 1.51; commitid ClDJQeFK2S9nxFCx; 1.51 date 2014.05.29.10.35.26; author njoly; state Exp; branches; next 1.50; commitid zTHIGYGCTalJaqCx; 1.50 date 2014.05.20.17.24.49; author njoly; state Exp; branches; next 1.49; commitid s9YamId866cqJiBx; 1.49 date 2014.05.17.09.23.51; author njoly; state Exp; branches; next 1.48; commitid 7netuDBqKQp3aSAx; 1.48 date 2014.05.04.10.08.53; author njoly; state Exp; branches; next 1.47; commitid QXU6DtO3KihnPczx; 1.47 date 2014.04.08.16.48.01; author njoly; state Exp; branches; next 1.46; commitid u7tPBYy3hfIrSTvx; 1.46 date 2013.12.08.15.55.10; author njoly; state Exp; branches 1.46.2.1; next 1.45; commitid fmIvMzkOLFegtlgx; 1.45 date 2013.11.18.01.32.52; author chs; state Exp; branches; next 1.44; commitid InrPzbhD2HRBlHdx; 1.44 date 2013.11.07.19.37.18; author njoly; state Exp; branches; next 1.43; commitid PzBxf4c3pzynHncx; 1.43 date 2013.09.24.13.27.49; author njoly; state Exp; branches; next 1.42; commitid G4FKBE5tN5vq4H6x; 1.42 date 2013.04.08.20.54.47; author pooka; state Exp; branches 1.42.4.1; next 1.41; 1.41 date 2012.09.19.21.19.14; author pooka; state Exp; branches; next 1.40; 1.40 date 2011.11.18.04.03.50; author christos; state Exp; branches 1.40.10.1; next 1.39; 1.39 date 2011.07.09.23.46.32; author christos; state Exp; branches 1.39.2.1; next 1.38; 1.38 date 2011.07.09.14.49.40; author christos; state Exp; branches; next 1.37; 1.37 date 2011.05.30.17.50.31; author alnsn; state Exp; branches; next 1.36; 1.36 date 2011.04.10.15.48.46; author christos; state Exp; branches; next 1.35; 1.35 date 2010.07.07.01.30.33; author chs; state Exp; branches 1.35.2.1; next 1.34; 1.34 date 2009.11.24.10.42.43; author njoly; state Exp; branches 1.34.2.1 1.34.4.1; next 1.33; 1.33 date 2009.10.30.10.57.40; author njoly; state Exp; branches; next 1.32; 1.32 date 2009.06.17.14.18.51; author njoly; state Exp; branches; next 1.31; 1.31 date 2009.06.08.13.26.57; author njoly; state Exp; branches; next 1.30; 1.30 date 2009.01.17.22.28.52; author njoly; state Exp; branches 1.30.2.1; next 1.29; 1.29 date 2009.01.15.23.48.50; author njoly; state Exp; branches; next 1.28; 1.28 date 2009.01.13.22.27.43; author pooka; state Exp; branches; next 1.27; 1.27 date 2009.01.11.02.45.48; author christos; state Exp; branches; next 1.26; 1.26 date 2008.11.19.13.09.19; author njoly; state Exp; branches 1.26.4.1; next 1.25; 1.25 date 2008.11.12.18.07.40; author njoly; state Exp; branches; next 1.24; 1.24 date 2008.10.26.20.25.49; author christos; state Exp; branches 1.24.2.1 1.24.4.1; next 1.23; 1.23 date 2008.04.04.12.38.52; author njoly; state Exp; branches 1.23.4.1 1.23.6.1 1.23.10.1; next 1.22; 1.22 date 2007.12.24.14.17.17; author njoly; state Exp; branches 1.22.6.1; next 1.21; 1.21 date 2007.12.21.22.26.21; author njoly; state Exp; branches; next 1.20; 1.20 date 2007.12.20.23.02.52; author dsl; state Exp; branches; next 1.19; 1.19 date 2007.11.16.12.51.54; author njoly; state Exp; branches 1.19.2.1 1.19.6.1; next 1.18; 1.18 date 2007.03.14.12.44.39; author njoly; state Exp; branches 1.18.10.1 1.18.12.1 1.18.16.1 1.18.18.1; next 1.17; 1.17 date 2007.03.04.06.01.19; author christos; state Exp; branches 1.17.2.1 1.17.4.1; next 1.16; 1.16 date 2007.02.09.21.55.18; author ad; state Exp; branches 1.16.2.1; next 1.15; 1.15 date 2006.09.01.20.58.18; author matt; state Exp; branches 1.15.2.1 1.15.6.1; next 1.14; 1.14 date 2006.08.30.11.14.39; author matt; state Exp; branches; next 1.13; 1.13 date 2006.08.24.16.36.59; author manu; state Exp; branches; next 1.12; 1.12 date 2006.06.25.16.15.39; author manu; state Exp; branches; next 1.11; 1.11 date 2006.06.10.21.15.33; author christos; state Exp; branches 1.11.2.1; next 1.10; 1.10 date 2006.02.09.19.18.56; author manu; state Exp; branches 1.10.2.1 1.10.8.1; next 1.9; 1.9 date 2005.11.23.16.14.57; author manu; state Exp; branches 1.9.2.1 1.9.4.1 1.9.6.1; next 1.8; 1.8 date 2005.11.05.08.06.58; author manu; state Exp; branches 1.8.2.1 1.8.4.1; next 1.7; 1.7 date 2005.11.04.16.51.56; author manu; state Exp; branches; next 1.6; 1.6 date 2005.10.18.18.37.44; author joerg; state Exp; branches; next 1.5; 1.5 date 2005.06.22.15.10.51; author manu; state Exp; branches 1.5.2.1; next 1.4; 1.4 date 2005.05.22.19.29.15; author fvdl; state Exp; branches; next 1.3; 1.3 date 2005.05.16.21.17.11; author fvdl; state Exp; branches; next 1.2; 1.2 date 2005.05.16.16.02.20; author fvdl; state Exp; branches; next 1.1; 1.1 date 2005.05.03.16.26.30; author manu; state Exp; branches; next ; 1.73.2.1 date 2025.08.02.05.56.22; author perseant; state Exp; branches; next ; commitid 23j6GFaDws3O875G; 1.62.2.1 date 2020.12.15.14.07.20; author thorpej; state Exp; branches; next 1.62.2.2; commitid SxffrujSvDkrsQzC; 1.62.2.2 date 2020.12.17.03.14.15; author thorpej; state Exp; branches; next ; commitid mwKnDZaUAvwDM2AC; 1.60.14.1 date 2020.04.13.08.04.14; author martin; state Exp; branches; next ; commitid X01YhRUPVUDaec4C; 1.58.2.1 date 2017.04.21.16.53.41; author bouyer; state Exp; branches; next ; commitid dUG7nkTKALCadqOz; 1.56.2.1 date 2016.07.26.03.24.19; author pgoyette; state Exp; branches; next 1.56.2.2; commitid x7TlcOjghfjvqMfz; 1.56.2.2 date 2017.01.07.08.56.29; author pgoyette; state Exp; branches; next 1.56.2.3; commitid uEL0C1YuiJrlV0Bz; 1.56.2.3 date 2017.03.20.06.57.24; author pgoyette; state Exp; branches; next ; commitid jjw7cAwgyKq7RfKz; 1.53.2.1 date 2015.04.06.15.18.05; author skrll; state Exp; branches; next 1.53.2.2; commitid pz01Zhy7RP6iGxgy; 1.53.2.2 date 2015.06.06.14.40.05; author skrll; state Exp; branches; next 1.53.2.3; commitid O6LVO5i6UulOvnoy; 1.53.2.3 date 2015.12.27.12.09.46; author skrll; state Exp; branches; next 1.53.2.4; commitid BTSqUD4SdJ5k7AOy; 1.53.2.4 date 2016.10.05.20.55.38; author skrll; state Exp; branches; next 1.53.2.5; commitid uuAdz3JYHQmaWZoz; 1.53.2.5 date 2017.02.05.13.40.24; author skrll; state Exp; branches; next ; commitid 8hwpk1aHl2UuyLEz; 1.52.2.1 date 2017.04.17.05.19.09; author snj; state Exp; branches; next ; commitid U94b0I2VYftQxQNz; 1.46.2.1 date 2014.08.10.06.54.32; author tls; state Exp; branches; next ; commitid 2GsD4EyIRMJSBMLx; 1.42.4.1 date 2014.05.18.17.45.32; author rmind; state Exp; branches; next ; commitid mL5ZYSzpqK6QS2Bx; 1.40.10.1 date 2012.11.20.03.01.54; author tls; state Exp; branches; next 1.40.10.2; 1.40.10.2 date 2013.06.23.06.20.15; author tls; state Exp; branches; next 1.40.10.3; commitid eVjr9caYRQbRGHUw; 1.40.10.3 date 2014.08.20.00.03.31; author tls; state Exp; branches; next 1.40.10.4; commitid jTnpym9Qu0o4R1Nx; 1.40.10.4 date 2017.12.03.11.36.53; author jdolecek; state Exp; branches; next ; commitid XcIYRZTAh1LmerhA; 1.39.2.1 date 2012.04.17.00.07.15; author yamt; state Exp; branches; next 1.39.2.2; 1.39.2.2 date 2012.10.30.17.20.40; author yamt; state Exp; branches; next 1.39.2.3; 1.39.2.3 date 2014.05.22.11.40.16; author yamt; state Exp; branches; next ; commitid VUUXuyNWnt3AKwBx; 1.35.2.1 date 2011.06.06.09.07.22; author jruoho; state Exp; branches; next ; 1.34.2.1 date 2010.08.17.06.45.42; author uebayasi; state Exp; branches; next ; 1.34.4.1 date 2011.03.05.20.52.42; author rmind; state Exp; branches; next 1.34.4.2; 1.34.4.2 date 2011.04.21.01.41.38; author rmind; state Exp; branches; next 1.34.4.3; 1.34.4.3 date 2011.05.31.03.04.28; author rmind; state Exp; branches; next ; 1.30.2.1 date 2009.07.23.23.31.39; author jym; state Exp; branches; next ; 1.26.4.1 date 2008.11.19.13.09.19; author christos; state dead; branches; next 1.26.4.2; 1.26.4.2 date 2008.12.30.19.34.34; author christos; state Exp; branches; next 1.26.4.3; 1.26.4.3 date 2009.01.04.02.21.08; author christos; state Exp; branches; next ; 1.24.2.1 date 2009.01.19.13.17.23; author skrll; state Exp; branches; next ; 1.24.4.1 date 2008.11.20.03.03.05; author snj; state Exp; branches; next ; 1.23.4.1 date 2009.05.04.08.12.20; author yamt; state Exp; branches; next 1.23.4.2; 1.23.4.2 date 2009.06.20.07.20.14; author yamt; state Exp; branches; next 1.23.4.3; 1.23.4.3 date 2010.03.11.15.03.14; author yamt; state Exp; branches; next 1.23.4.4; 1.23.4.4 date 2010.08.11.22.53.04; author yamt; state Exp; branches; next ; 1.23.6.1 date 2008.05.10.23.48.52; author wrstuden; state Exp; branches; next 1.23.6.2; 1.23.6.2 date 2008.05.14.01.35.03; author wrstuden; state Exp; branches; next ; 1.23.10.1 date 2008.12.13.01.13.53; author haad; state Exp; branches; next ; 1.22.6.1 date 2008.06.02.13.23.00; author mjf; state Exp; branches; next 1.22.6.2; 1.22.6.2 date 2009.01.17.13.28.43; author mjf; state Exp; branches; next ; 1.19.2.1 date 2007.12.26.19.49.05; author ad; state Exp; branches; next ; 1.19.6.1 date 2008.01.02.21.52.17; author bouyer; state Exp; branches; next ; 1.18.10.1 date 2007.11.21.21.53.47; author joerg; state Exp; branches; next ; 1.18.12.1 date 2008.01.09.01.50.57; author matt; state Exp; branches; next ; 1.18.16.1 date 2007.11.18.19.35.00; author bouyer; state Exp; branches; next ; 1.18.18.1 date 2007.11.19.00.47.18; author mjf; state Exp; branches; next 1.18.18.2; 1.18.18.2 date 2007.12.27.00.43.54; author mjf; state Exp; branches; next ; 1.17.2.1 date 2007.04.10.13.26.22; author ad; state Exp; branches; next ; 1.17.4.1 date 2007.07.11.20.04.07; author mjf; state Exp; branches; next ; 1.16.2.1 date 2007.03.12.05.52.15; author rmind; state Exp; branches; next 1.16.2.2; 1.16.2.2 date 2007.03.24.14.55.08; author yamt; state Exp; branches; next ; 1.15.2.1 date 2007.01.30.13.51.32; author ad; state Exp; branches; next ; 1.15.6.1 date 2007.04.20.20.14.12; author bouyer; state Exp; branches; next ; 1.11.2.1 date 2006.07.13.17.49.13; author gdamore; state Exp; branches; next ; 1.10.2.1 date 2006.06.26.12.46.01; author yamt; state Exp; branches; next 1.10.2.2; 1.10.2.2 date 2006.09.03.15.23.40; author yamt; state Exp; branches; next ; 1.10.8.1 date 2006.06.19.03.45.37; author chap; state Exp; branches; next ; 1.9.2.1 date 2006.02.18.15.38.59; author yamt; state Exp; branches; next ; 1.9.4.1 date 2006.09.09.02.45.27; author rpaulo; state Exp; branches; next ; 1.9.6.1 date 2006.04.22.11.38.13; author simonb; state Exp; branches; next ; 1.8.2.1 date 2005.11.05.08.06.58; author skrll; state dead; branches; next 1.8.2.2; 1.8.2.2 date 2005.11.10.14.00.59; author skrll; state Exp; branches; next 1.8.2.3; 1.8.2.3 date 2005.12.11.10.28.46; author christos; state Exp; branches; next ; 1.8.4.1 date 2005.11.29.21.23.05; author yamt; state Exp; branches; next ; 1.5.2.1 date 2006.06.21.14.59.01; author yamt; state Exp; branches; next 1.5.2.2; 1.5.2.2 date 2006.12.30.20.47.35; author yamt; state Exp; branches; next 1.5.2.3; 1.5.2.3 date 2007.02.26.09.09.13; author yamt; state Exp; branches; next 1.5.2.4; 1.5.2.4 date 2007.09.03.14.32.13; author yamt; state Exp; branches; next 1.5.2.5; 1.5.2.5 date 2007.12.07.17.27.52; author yamt; state Exp; branches; next 1.5.2.6; 1.5.2.6 date 2008.01.21.09.41.10; author yamt; state Exp; branches; next ; desc @@ 1.79 log @Make writev(2) bug-compatible with Linux when called with iovcnt=0 @ text @ $NetBSD: syscalls.master,v 1.78 2025/11/10 15:41:38 christos Exp $ ; @@(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; NetBSD amd64 COMPAT_LINUX system call name/number "master" file. ; (See syscalls.conf to see what it is processed into.) ; ; Fields: number type [type-dependent ...] ; number system call number, must be in order ; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of ; the compatibility options defined in syscalls.conf. ; ; types: ; STD always included ; OBSOL obsolete, not included in system ; UNIMPL unimplemented, not included in system ; NODEF included, but don't define the syscall number ; NOARGS included, but don't define the syscall args structure ; INDIR included, but don't define the syscall args structure ; and allow it to be "really" varargs. ; ; The compat options are defined in the syscalls.conf file, and the ; compat option name is prefixed to the syscall name. Other than ; that, they're like NODEF (for 'compat' options), or STD (for ; 'libcompat' options). ; ; The type-dependent arguments are as follows: ; For STD, NODEF, NOARGS, and compat syscalls: ; { pseudo-proto } [alias] ; For other syscalls: ; [comment] ; ; #ifdef's, etc. may be included, and are copied to the output files. ; #include's are copied to the syscall names and switch definition files only. #if defined(_KERNEL_OPT) #include "opt_sysv.h" #include "opt_compat_43.h" #include "opt_compat_netbsd.h" #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include %% 0 NOARGS { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } 1 NOARGS { ssize_t|sys||write(int fd, const void *buf, \ size_t nbyte); } 2 STD { int|linux_sys||open(const char *path, int flags, \ linux_umode_t mode); } 3 NOARGS { int|sys||close(int fd); } 4 STD { int|linux_sys||stat64(const char *path, \ struct linux_stat64 *sp); } 5 STD { int|linux_sys||fstat64(int fd, \ struct linux_stat64 *sp); } 6 STD { int|linux_sys||lstat64(const char *path, \ struct linux_stat64 *sp); } 7 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \ int timeout); } 8 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \ int whence); } 9 NOARGS { linux_off_t|linux_sys||mmap(unsigned long addr, \ size_t len, int prot, int flags, int fd, \ linux_off_t offset); } 10 STD { int|linux_sys||mprotect(const void *start, \ unsigned long len, int prot); } 11 NOARGS { int|sys||munmap(void *addr, size_t len); } 12 STD { int|linux_sys||brk(char *nsize); } 13 STD { int|linux_sys||rt_sigaction(int signum, \ const struct linux_sigaction *nsa, \ struct linux_sigaction *osa, \ size_t sigsetsize); } 14 STD { int|linux_sys||rt_sigprocmask(int how, \ const linux_sigset_t *set, \ linux_sigset_t *oset, \ size_t sigsetsize); } 15 NOARGS { int|linux_sys||rt_sigreturn(void); } 16 STD { int|linux_sys||ioctl(int fd, u_long com, \ void *data); } 17 STD { int|linux_sys||pread(int fd, char *buf, \ size_t nbyte, off_t offset); } 18 STD { int|linux_sys||pwrite(int fd, char *buf, \ size_t nbyte, off_t offset); } 19 NOARGS { ssize_t|sys||readv(int fd, \ const struct iovec *iovp, int iovcnt); } 20 STD { ssize_t|linux_sys||writev(int fd, \ const struct iovec *iovp, int iovcnt); } 21 NOARGS { int|sys||access(const char *path, int flags); } 22 STD { int|linux_sys||pipe(int *pfds); } 23 STD { int|linux_sys||select(int nfds, fd_set *readfds, \ fd_set *writefds, fd_set *exceptfds, \ struct timeval50 *timeout); } 24 STD { int|linux_sys||sched_yield(void); } 25 STD { void *|linux_sys||mremap(void *old_address, \ size_t old_size, size_t new_size, u_long flags); } 26 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); } 27 NOARGS { int|sys||mincore(void *addr, size_t len, char *vec); } 28 NOARGS { int|sys||madvise(void *addr, size_t len, int behav); } #ifdef SYSVSHM 29 NOARGS { int|linux_sys||shmget(key_t key, size_t size, \ int shmflg); } 30 NOARGS { int|sys||shmat(int shmid, void *shmaddr, int shmflg); } 31 NOARGS { int|linux_sys||shmctl(int shmid, int cmd, \ struct linux_shmid_ds *buf); } #else 29 UNIMPL shmget 30 UNIMPL shmat 31 UNIMPL shmctl #endif 32 NOARGS { int|sys||dup(int fd); } 33 NOARGS { int|sys||dup2(int from, int to); } 34 STD { int|linux_sys||pause(void); } 35 STD { int|linux_sys||nanosleep( \ const struct linux_timespec *rqtp, \ struct linux_timespec *rmtp); } 36 NOARGS { int|compat_50_sys||getitimer(int which, \ struct itimerval50 *itv); } 37 STD { int|linux_sys||alarm(unsigned int secs); } 38 NOARGS { int|compat_50_sys||setitimer(int which, \ struct itimerval50 *itv, \ struct itimerval50 *oitv); } 39 STD { pid_t|sys||getpid(void); } 40 UNIMPL sendfile 41 STD { int|linux_sys||socket(int domain, \ int type, int protocol); } 42 STD { int|linux_sys||connect(int s, \ const struct osockaddr *name, \ unsigned int namelen); } 43 STD { int|linux_sys||accept(int s, struct osockaddr *name, \ int *anamelen); } oaccept 44 STD { ssize_t|linux_sys||sendto(int s, void *msg, int len, \ int flags, struct osockaddr *to, int tolen); } 45 STD { ssize_t|linux_sys||recvfrom(int s, void *buf, \ size_t len, int flags, struct osockaddr *from, \ unsigned int *fromlenaddr); } 46 STD { int|linux_sys||sendmsg(int s, \ const struct linux_msghdr *msg, int flags); } 47 STD { ssize_t|linux_sys||recvmsg(int s, \ struct linux_msghdr *msg, int flags); } 48 NOARGS { int|sys||shutdown(int s, int how); } 49 STD { int|linux_sys||bind(int s, \ const struct osockaddr *name, \ unsigned int namelen); } 50 NOARGS { int|sys||listen(int s, int backlog); } 51 STD { int|linux_sys||getsockname(int fdec, void *asa, \ int *alen); } 52 STD { int|linux_sys||getpeername(int fdes, \ struct sockaddr *asa, unsigned int *alen); } 53 STD { int|linux_sys||socketpair(int domain, int type, \ int protocol, int *rsv); } 54 STD { int|linux_sys||setsockopt(int s, int level, \ int optname, void *optval, int optlen); } 55 STD { int|linux_sys||getsockopt(int s, int level, \ int optname, void *optval, int *optlen); } 56 STD { int|linux_sys||clone(int flags, void *stack, \ void *parent_tidptr, void *child_tidptr, void *tls); } 57 NOARGS { int|sys||fork(void); } 58 NOARGS { int|sys|14|vfork(void); } 59 NOARGS { int|sys||execve(const char *path, char **argp, \ char **envp); } 60 STD { int|linux_sys||exit(int rval); } 61 STD { int|linux_sys||wait4(int pid, int *status, \ int options, struct rusage50 *rusage); } 62 STD { int|linux_sys||kill(int pid, int signum); } 63 STD { int|linux_sys||uname(struct linux_utsname *up); } #ifdef SYSVSEM 64 NOARGS { int|sys||semget(key_t key, int nsems, int semflg); } 65 NOARGS { int|sys||semop(int semid, struct sembuf *sops, \ size_t nsops); } 66 STD { int|linux_sys||semctl(int semid, int semnum, \ int cmd, union linux_semun arg); } #else 64 UNIMPL semget 65 UNIMPL semop 66 UNIMPL semctl #endif #ifdef SYSVSHM 67 NOARGS { int|sys||shmdt(const void *shmaddr); } #else 67 UNIMPL shmdt #endif #ifdef SYSVMSG 68 NOARGS { int|sys||msgget(key_t key, int msgflg); } 69 NOARGS { int|sys||msgsnd(int msqid, void *msgp, size_t msgsz, \ int msgflg); } 70 NOARGS { ssize_t|sys||msgrcv(int msqid, void *msgp, \ size_t msgsz, long msgtyp, int msgflg); } 71 NOARGS { int|linux_sys||msgctl(int msqid, int cmd, \ struct linux_msqid_ds *buf); } #else 68 UNIMPL msgget 69 UNIMPL msgsnd 70 UNIMPL msgrcv 71 UNIMPL msgctl #endif 72 STD { int|linux_sys||fcntl(int fd, int cmd, void *arg); } 73 NOARGS { int|sys||flock(int fd, int how); } 74 NOARGS { int|sys||fsync(int fd); } 75 STD { int|linux_sys||fdatasync(int fd); } 76 STD { int|linux_sys||truncate64(const char *path, \ off_t length); } 77 STD { int|linux_sys||ftruncate64(unsigned int fd, \ off_t length); } 78 STD { int|linux_sys||getdents(int fd, \ struct linux_dirent *dent, unsigned int count); } 79 NOARGS { int|sys||__getcwd(char *bufp, size_t length); } 80 NOARGS { int|sys||chdir(const char *path); } 81 NOARGS { int|sys||fchdir(int fd); } 82 NOARGS { int|sys||__posix_rename(const char *from, \ const char *to); } 83 NOARGS { int|sys||mkdir(const char *path, linux_umode_t mode); } 84 NOARGS { int|sys||rmdir(const char *path); } 85 STD { int|linux_sys||creat(const char *path, linux_umode_t mode); } 86 NOARGS { int|sys||link(const char *path, const char *link); } 87 STD { int|linux_sys||unlink(const char *path); } 88 NOARGS { int|sys||symlink(const char *path, const char *link); } 89 NOARGS { ssize_t|sys||readlink(const char *path, char *buf, \ int count); } 90 NOARGS { int|sys||chmod(const char *path, linux_umode_t mode); } 91 NOARGS { int|sys||fchmod(int fd, linux_umode_t mode); } 92 NOARGS { int|sys||__posix_chown(const char *path, uid_t uid, \ gid_t gid); } 93 NOARGS { int|sys||__posix_fchown(int fd, uid_t uid, \ gid_t gid); } 94 NOARGS { int|sys||__posix_lchown(const char *path, uid_t uid, \ gid_t gid); } 95 NOARGS { int|sys||umask(int newmask); } 96 STD { int|linux_sys||gettimeofday(struct timeval50 *tp, \ struct timezone *tzp); } 97 STD { int|linux_sys||getrlimit(int which, \ struct rlimit *rlp); } 98 NOARGS { int|compat_50_sys||getrusage(int who, \ struct rusage50 *rusage); } 99 STD { int|linux_sys||sysinfo(struct linux_sysinfo *arg); } 100 STD { int|linux_sys||times(struct times *tms); } 101 STD { int|linux_sys||ptrace(long request, long pid, \ long addr, long data); } 102 NOARGS { uid_t|sys||getuid(void); } 103 UNIMPL syslog 104 NOARGS { gid_t|sys||getgid(void); } 105 NOARGS { int|sys||setuid(uid_t uid); } 106 NOARGS { int|sys||setgid(gid_t gid); } 107 NOARGS { uid_t|sys||geteuid(void); } 108 NOARGS { gid_t|sys||getegid(void); } 109 NOARGS { int|sys||setpgid(int pid, int pgid); } 110 STD { pid_t|sys||getppid(void); } 111 NOARGS { int|sys||getpgrp(void); } 112 NOARGS { int|sys||setsid(void); } 113 NOARGS { int|sys||setreuid(uid_t ruid, uid_t euid); } 114 NOARGS { int|sys||setregid(gid_t rgid, gid_t egid); } 115 NOARGS { int|sys||getgroups(int gidsetsize, gid_t *gidset); } 116 NOARGS { int|sys||setgroups(int gidsetsize, gid_t *gidset); } 117 STD { int|linux_sys||setresuid(uid_t ruid, uid_t euid, \ uid_t suid); } 118 STD { int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \ uid_t *suid); } 119 STD { int|linux_sys||setresgid(gid_t rgid, gid_t egid, \ gid_t sgid); } 120 STD { int|linux_sys||getresgid(gid_t *rgid, gid_t *egid, \ gid_t *sgid); } 121 NOARGS { pid_t|sys||getpgid(pid_t pid); } 122 STD { int|linux_sys||setfsuid(uid_t uid); } 123 STD { int|linux_sys||setfsgid(gid_t gid); } 124 NOARGS { pid_t|sys||getsid(pid_t pid); } 125 UNIMPL capget 126 UNIMPL capset 127 STD { int|linux_sys||rt_sigpending( \ linux_sigset_t *set, \ size_t sigsetsize); } 128 STD { int|linux_sys||rt_sigtimedwait( \ const linux_sigset_t *set, \ linux_siginfo_t *info, \ const struct linux_timespec *timeout); } 129 STD { int|linux_sys||rt_queueinfo(int pid, int signum, \ linux_siginfo_t *uinfo); } 130 STD { int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \ size_t sigsetsize); } 131 STD { int|linux_sys||sigaltstack( \ const struct linux_sigaltstack *ss, \ struct linux_sigaltstack *oss); } 132 STD { int|linux_sys||utime(const char *path, \ struct linux_utimbuf *times); } 133 STD { int|linux_sys||mknod(const char *path, linux_umode_t mode, \ unsigned dev); } #ifdef EXEC_AOUT 134 STD { int|linux_sys||uselib(const char *path); } #else 134 UNIMPL sys_uselib #endif 135 STD { int|linux_sys||personality(unsigned long per); } 136 UNIMPL ustat 137 STD { int|linux_sys||statfs(const char *path, \ struct linux_statfs *sp); } 138 STD { int|linux_sys||fstatfs(int fd, \ struct linux_statfs *sp); } 139 UNIMPL sysfs 140 STD { int|linux_sys||getpriority(int which, int who); } 141 NOARGS { int|sys||setpriority(int which, int who, int prio); } 142 STD { int|linux_sys||sched_setparam(pid_t pid, \ const struct linux_sched_param *sp); } 143 STD { int|linux_sys||sched_getparam(pid_t pid, \ struct linux_sched_param *sp); } 144 STD { int|linux_sys||sched_setscheduler(pid_t pid, \ int policy, const struct linux_sched_param *sp); } 145 STD { int|linux_sys||sched_getscheduler(pid_t pid); } 146 STD { int|linux_sys||sched_get_priority_max(int policy); } 147 STD { int|linux_sys||sched_get_priority_min(int policy); } 148 UNIMPL sys_sched_rr_get_interval 149 NOARGS { int|sys||mlock(void *addr, size_t len); } 150 NOARGS { int|sys||munlock(void *addr, size_t len); } 151 NOARGS { int|sys||mlockall(int flags); } 152 NOARGS { int|sys||munlockall(void); } 153 UNIMPL vhangup 154 STD { int|linux_sys||modify_ldt(int func, void *ptr, \ size_t bytecount); } 155 UNIMPL pivot_root 156 STD { int|linux_sys||__sysctl(struct linux___sysctl *lsp); } 157 INDIR { int|linux_sys||__prctl(int code, \ ... void * args[LINUX_SYS_MAXSYSARGS]); } 158 STD { int|linux_sys||arch_prctl(int code, \ unsigned long addr); } 159 UNIMPL adjtimex 160 STD { int|linux_sys||setrlimit(u_int which, \ struct rlimit *rlp); } 161 NOARGS { int|sys||chroot(char *path); } 162 NOARGS { int|sys||sync(void); } 163 NOARGS { int|sys||acct(char *path); } 164 STD { int|linux_sys||settimeofday(struct timeval50 *tp, \ struct timezone *tzp); } 165 UNIMPL mount 166 UNIMPL umount2 167 STD { int|linux_sys||swapon(char *name); } 168 STD { int|linux_sys||swapoff(const char *path); } 169 STD { int|linux_sys||reboot(int magic1, int magic2, \ int cmd, void *arg); } 170 NOARGS { int|compat_43_sys||sethostname(char *hostname, \ u_int len);} 171 STD { int|linux_sys||setdomainname(char *domainname, \ int len); } 172 STD { int|linux_sys||iopl(int level); } 173 STD { int|linux_sys||ioperm(unsigned int lo, \ unsigned int hi, int val); } 174 UNIMPL create_module 175 UNIMPL init_module 176 UNIMPL delete_module 177 UNIMPL get_kernel_syms 178 UNIMPL query_module 179 UNIMPL quotactl 180 UNIMPL nfsservctl 181 UNIMPL getpmsg 182 UNIMPL putpmsg 183 UNIMPL afs_syscall 184 UNIMPL tuxcall 185 UNIMPL security 186 STD { pid_t|linux_sys||gettid(void); } 187 STD { ssize_t|linux_sys||readahead(int fd, off_t offset, \ size_t count); } 188 STD { int|linux_sys||setxattr(char *path, char *name, \ void *value, size_t size, int flags); } 189 STD { int|linux_sys||lsetxattr(char *path, char *name, \ void *value, size_t size, int flags); } 190 STD { int|linux_sys||fsetxattr(int fd, char *name, \ void *value, size_t size, int flags); } 191 STD { ssize_t|linux_sys||getxattr(char *path, char *name, \ void *value, size_t size); } 192 STD { ssize_t|linux_sys||lgetxattr(char *path, char *name, \ void *value, size_t size); } 193 STD { ssize_t|linux_sys||fgetxattr(int fd, char *name, \ void *value, size_t size); } 194 STD { ssize_t|linux_sys||listxattr(char *path, char *list, \ size_t size); } 195 STD { ssize_t|linux_sys||llistxattr(char *path, char *list, \ size_t size); } 196 STD { ssize_t|linux_sys||flistxattr(int fd, char *list, \ size_t size); } 197 STD { int|linux_sys||removexattr(char *path, char *name); } 198 STD { int|linux_sys||lremovexattr(char *path, char *name); } 199 STD { int|linux_sys||fremovexattr(int fd, char *name); } 200 STD { int|linux_sys||tkill(int tid, int sig); } 201 STD { int|linux_sys||time(linux_time_t *t); } 202 STD { int|linux_sys||futex(int *uaddr, int op, int val, \ const struct linux_timespec *timeout, int *uaddr2, \ int val3); } 203 STD { int|linux_sys||sched_setaffinity(pid_t pid, \ unsigned int len, unsigned long *mask); } 204 STD { int|linux_sys||sched_getaffinity(pid_t pid, \ unsigned int len, unsigned long *mask); } 205 UNIMPL set_thread_area 206 UNIMPL io_setup 207 UNIMPL io_destroy 208 UNIMPL io_getevents 209 UNIMPL io_submit 210 UNIMPL io_cancel 211 UNIMPL get_thread_area 212 UNIMPL lookup_dcookie 213 STD { int|linux_sys||epoll_create(int size); } 214 UNIMPL epoll_ctl_old 215 UNIMPL epoll_wait_old 216 UNIMPL remap_file_pages 217 STD { int|linux_sys||getdents64(int fd, \ struct linux_dirent64 *dent, unsigned int count); } 218 STD { int|linux_sys||set_tid_address(int *tid); } 219 UNIMPL restart_syscall 220 STD { int|linux_sys||semtimedop(int semid, \ struct sembuf *sops, size_t nsops, \ struct linux_timespec *timeout); } 221 STD { int|linux_sys||fadvise64(int fd, off_t offset, \ size_t len, int advice); } 222 STD { int|linux_sys||timer_create(clockid_t clockid, \ struct linux_sigevent *evp, timer_t *timerid); } 223 STD { int|linux_sys||timer_settime(timer_t timerid, \ int flags, const struct linux_itimerspec *tim, \ struct linux_itimerspec *otim); } 224 STD { int|linux_sys||timer_gettime(timer_t timerid, \ struct linux_itimerspec *tim); } 225 NOARGS { int|sys||timer_getoverrun(timer_t timerid); } 226 NOARGS { int|sys||timer_delete(timer_t timerid); } 227 STD { int|linux_sys||clock_settime(clockid_t which, \ struct linux_timespec *tp); } 228 STD { int|linux_sys||clock_gettime(clockid_t which, \ struct linux_timespec *tp); } 229 STD { int|linux_sys||clock_getres(clockid_t which, \ struct linux_timespec *tp); } 230 STD { int|linux_sys||clock_nanosleep(clockid_t which, \ int flags, struct linux_timespec *rqtp, \ struct linux_timespec *rmtp); } 231 STD { int|linux_sys||exit_group(int error_code); } 232 STD { int|linux_sys||epoll_wait(int epfd, \ struct linux_epoll_event *events, int maxevents, \ int timeout); } 233 STD { int|linux_sys||epoll_ctl(int epfd, int op, int fd, \ struct linux_epoll_event *event); } 234 STD { int|linux_sys||tgkill(int tgid, int tid, int sig); } 235 NOARGS { int|compat_50_sys||utimes(const char *path, \ const struct timeval50 *tptr); } 236 UNIMPL vserver 237 UNIMPL mbind 238 UNIMPL set_mempolicy 239 UNIMPL get_mempolicy 240 STD { linux_mqd_t|linux_sys||mq_open(const char *name, \ int oflag, linux_umode_t mode, \ struct linux_mq_attr *attr); } 241 STD { int|linux_sys||mq_unlink(const char *name); } 242 STD { int|linux_sys||mq_timedsend(linux_mqd_t mqdes, \ const char *msg_ptr, size_t msg_len, \ unsigned int msg_prio, \ const struct linux_timespec *abs_timeout); } 243 STD { ssize_t|linux_sys||mq_timedreceive(linux_mqd_t mqdes, \ char *msg_ptr, size_t msg_len, \ unsigned int *msg_prio, \ const struct linux_timespec *abs_timeout); } 244 STD { int|linux_sys||mq_notify(linux_mqd_t mqdes, \ const struct linux_sigevent *sevp); } 245 STD { int|linux_sys||mq_getsetattr(linux_mqd_t mqdes, \ const struct linux_mq_attr *newattr, \ struct linux_mq_attr *oldattr); } 246 UNIMPL kexec_load 247 STD { int|linux_sys||waitid(int idtype, id_t id, \ linux_siginfo_t *infop, int options, \ struct rusage50 *rusage); } 248 UNIMPL add_key 249 UNIMPL request_key 250 UNIMPL keyctl 251 UNIMPL ioprio_set 252 UNIMPL ioprio_get 253 STD { int|linux_sys||inotify_init(void); } 254 STD { int|linux_sys||inotify_add_watch(int fd, \ const char *pathname, uint32_t mask); } 255 STD { int|linux_sys||inotify_rm_watch(int fd, int wd); } 256 UNIMPL migrate_pages 257 STD { int|linux_sys||openat(int fd, const char *path, \ int flags, ... linux_umode_t mode); } 258 NOARGS { int|sys||mkdirat(int fd, const char *path, \ linux_umode_t mode); } 259 STD { int|linux_sys||mknodat(int fd, const char *path, \ linux_umode_t mode, unsigned dev); } 260 STD { int|linux_sys||fchownat(int fd, const char *path, \ uid_t owner, gid_t group, int flag); } 261 UNIMPL futimesat 262 STD { int|linux_sys||fstatat64(int fd, const char *path, \ struct linux_stat *sp, int flag); } 263 STD { int|linux_sys||unlinkat(int fd, const char *path, \ int flag); } 264 NOARGS { int|sys||renameat(int fromfd, const char *from, \ int tofd, const char *to); } 265 STD { int|linux_sys||linkat(int fd1, const char *name1, \ int fd2, const char *name2, int flags); } 266 NOARGS { int|sys||symlinkat(const char *path1, int fd, \ const char *path2); } 267 NOARGS { ssize_t|sys||readlinkat(int fd, const char *path, \ char *buf, size_t bufsize); } 268 STD { int|linux_sys||fchmodat(int fd, const char *path, \ linux_umode_t mode); } 269 STD { int|linux_sys||faccessat(int fd, const char *path, \ int amode); } 270 STD { int|linux_sys||pselect6(int nfds, fd_set *readfds, \ fd_set *writefds, fd_set *exceptfds, \ struct linux_timespec *timeout, \ linux_sized_sigset_t *ss); } 271 STD { int|linux_sys||ppoll(struct pollfd *fds, u_int nfds, \ struct linux_timespec *timeout, \ linux_sigset_t *sigset); } 272 UNIMPL unshare ; ; The NetBSD native robust list calls have different ; argument names / types, but they are ABI-compatible ; with Linux. ; 273 NOARGS { int|sys||__futex_set_robust_list(void *head, \ size_t len); } 274 NOARGS { int|sys||__futex_get_robust_list(lwpid_t lwpid, \ void **headp, size_t *lenp); } 275 UNIMPL splice 276 UNIMPL tee 277 STD { int|linux_sys||sync_file_range(int fd, \ off_t offset, off_t nbytes, unsigned int flags); } 278 UNIMPL vmsplice 279 UNIMPL move_pages 280 STD { int|linux_sys||utimensat(int fd, const char *path, \ struct linux_timespec *times, int flag); } 281 STD { int|linux_sys||epoll_pwait(int epfd, \ struct linux_epoll_event *events, int maxevents, \ int timeout, const linux_sigset_t *sigmask); } 282 UNIMPL signalfd 283 STD { int|linux_sys||timerfd_create(clockid_t clock_id, \ int flags); } 284 STD { int|linux_sys||eventfd(unsigned int initval); } 285 STD { int|linux_sys||fallocate(int fd, int mode, \ off_t offset, off_t len); } 286 STD { int|linux_sys||timerfd_settime(int fd, int flags, \ const struct linux_itimerspec *tim, \ struct linux_itimerspec *otim); } 287 STD { int|linux_sys||timerfd_gettime(int fd, \ struct linux_itimerspec *tim); } 288 STD { int|linux_sys||accept4(int s, \ struct osockaddr *name, \ int *anamelen, int flags); } 289 UNIMPL signalfd4 290 STD { int|linux_sys||eventfd2(unsigned int initval, \ int flags); } 291 STD { int|linux_sys||epoll_create1(int flags); } 292 STD { int|linux_sys||dup3(int from, int to, int flags); } 293 STD { int|linux_sys||pipe2(int *pfds, int flags); } 294 STD { int|linux_sys||inotify_init1(int flags); } 295 STD { int|linux_sys||preadv(int fd, \ const struct iovec *iovp, int iovcnt, \ unsigned long off_lo, unsigned long off_hi); } 296 STD { int|linux_sys||pwritev(int fd, \ const struct iovcnt *iovp, int iovcnt, \ unsigned long off_lo, unsigned long off_hi); } 297 UNIMPL rt_tgsigqueueinfo 298 UNIMPL perf_counter_open 299 STD { int|linux_sys||recvmmsg(int s, \ struct linux_mmsghdr *msgvec, unsigned int vlen, \ unsigned int flags, struct timespec *timeout); } 300 UNIMPL fanotify_init 301 UNIMPL fanotify_mark 302 STD { int|linux_sys||prlimit64(pid_t pid, int which, \ struct rlimit *new_rlp, struct rlimit *old_rlp); } 303 UNIMPL name_to_handle_at 304 UNIMPL open_by_handle_at 305 UNIMPL clock_adjtime 306 STD { int|linux_sys||syncfs(int fd); } 307 STD { int|linux_sys||sendmmsg(int s, \ struct linux_mmsghdr *msgvec, unsigned int vlen, \ unsigned int flags); } 308 UNIMPL setns 309 STD { int|linux_sys||getcpu(unsigned int *cpu, \ unsigned int *node, \ struct linux_getcpu_cache *tcache); } 310 UNIMPL process_vm_readv 311 UNIMPL process_vm_writev 312 UNIMPL kcmp 313 UNIMPL finit_module 314 UNIMPL sched_setattr 315 UNIMPL sched_getattr 316 STD { int|linux_sys||renameat2(int fromfd, \ const char *from, int tofd, const char *to, \ unsigned int flags); } 317 UNIMPL seccomp 318 NOARGS { ssize_t|sys||getrandom(void *buf, size_t buflen, \ unsigned int flags); } 319 STD { int|linux_sys||memfd_create(const char *name, \ unsigned int flags); } 320 UNIMPL kexec_file_load 321 UNIMPL bpf 322 UNIMPL execveat 323 UNIMPL userfaultfd 324 UNIMPL membarrier 325 UNIMPL mlock2 326 STD { ssize_t|linux_sys||copy_file_range(int fd_in, \ off_t * off_in, int fd_out, off_t * off_out, \ size_t len, unsigned int flags); } 327 UNIMPL preadv2 328 UNIMPL pwritev2 329 UNIMPL pkey_mprotect 330 UNIMPL pkey_alloc 331 UNIMPL pkey_free 332 STD { int|linux_sys||statx(int fd, const char *path, \ int flag, unsigned int mask, \ struct linux_statx *sp); } 333 UNIMPL io_pgetevents 334 UNIMPL rseq 335 UNIMPL 336 UNIMPL 337 UNIMPL 338 UNIMPL 339 UNIMPL 340 UNIMPL 341 UNIMPL 342 UNIMPL 343 UNIMPL 344 UNIMPL 345 UNIMPL 346 UNIMPL 347 UNIMPL 348 UNIMPL 349 UNIMPL 350 UNIMPL 351 UNIMPL 352 UNIMPL 353 UNIMPL 354 UNIMPL 355 UNIMPL 356 UNIMPL 357 UNIMPL 358 UNIMPL 359 UNIMPL 360 UNIMPL 361 UNIMPL 362 UNIMPL 363 UNIMPL 364 UNIMPL 365 UNIMPL 366 UNIMPL 367 UNIMPL 368 UNIMPL 369 UNIMPL 370 UNIMPL 371 UNIMPL 372 UNIMPL 373 UNIMPL 374 UNIMPL 375 UNIMPL 376 UNIMPL 377 UNIMPL 378 UNIMPL 379 UNIMPL 380 UNIMPL 381 UNIMPL 382 UNIMPL 383 UNIMPL 384 UNIMPL 385 UNIMPL 386 UNIMPL 387 UNIMPL 388 UNIMPL 389 UNIMPL 390 UNIMPL 391 UNIMPL 392 UNIMPL 393 UNIMPL 394 UNIMPL 395 UNIMPL 396 UNIMPL 397 UNIMPL 398 UNIMPL 399 UNIMPL 400 UNIMPL 401 UNIMPL 402 UNIMPL 403 UNIMPL 404 UNIMPL 405 UNIMPL 406 UNIMPL 407 UNIMPL 408 UNIMPL 409 UNIMPL 410 UNIMPL 411 UNIMPL 412 UNIMPL 413 UNIMPL 414 UNIMPL 415 UNIMPL 416 UNIMPL 417 UNIMPL 418 UNIMPL 419 UNIMPL 420 UNIMPL 421 UNIMPL 422 UNIMPL 423 UNIMPL 424 UNIMPL pidfd_send_signal 425 UNIMPL io_uring_setup 426 UNIMPL io_uring_enter 427 UNIMPL io_uring_register 428 UNIMPL open_tree 429 UNIMPL move_mount 430 UNIMPL fsopen 431 UNIMPL fsconfig 432 UNIMPL fsmount 433 UNIMPL fspick 434 UNIMPL pidfd_open 435 STD { int|linux_sys||clone3( \ struct linux_user_clone3_args *cl_args, \ size_t size); } 436 STD { int|linux_sys||close_range(unsigned int first, \ unsigned int last, unsigned int flags); } 437 UNIMPL openat2 438 UNIMPL pidfd_getfd 439 STD { int|linux_sys||faccessat2(int fd, const char *path, \ int amode, int flags); } 440 UNIMPL process_madvise 441 STD { int|linux_sys||epoll_pwait2(int epfd, \ struct linux_epoll_event *events, int maxevents, \ const struct linux_timespec *timeout, \ const linux_sigset_t *sigmask); } 442 UNIMPL mount_setattr 443 UNIMPL quotactl_fd 444 UNIMPL landlock_create_ruleset 445 UNIMPL landlock_add_rule 446 UNIMPL landlock_restrict_self 447 UNIMPL memfd_secret 448 UNIMPL process_mrelease 449 UNIMPL futex_waitv 450 UNIMPL set_mempolicy_home_node ; we want a "nosys" syscall, we'll just add an extra entry for it. 451 STD { int|linux_sys||nosys(void); } @ 1.78 log @s/SYS_MAXSYSARGS/LINUX_SYS_MAXSYSARGS/ @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.77 2025/11/10 15:34:03 christos Exp $ d111 1 a111 1 20 NOARGS { ssize_t|sys||writev(int fd, \ @ 1.77 log @Add prctl(2) lwp_{g,s}etname for compat linux (Kevin Bloom) @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.76 2025/10/26 16:19:05 christos Exp $ d344 1 a344 1 ... void * args[SYS_MAXSYSARGS]); } @ 1.76 log @PR/59722: Ricardo Branco: linux: Add support for semtimedop(2) @ text @d1 1 a1 1 $NetBSD$ d343 2 a344 1 157 UNIMPL prctl @ 1.75 log @Linux GSoC-2024: renameat2, clone3, sync_file_range, syncfs (Shivraj Jamgade) @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.74 2024/07/01 01:35:52 christos Exp $ d428 3 a430 1 220 UNIMPL semtimedop @ 1.74 log @Add linux POSIX message queue support (Ricardo Branco) @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.73 2024/06/29 13:46:09 christos Exp $ d65 1 d537 2 a538 1 277 UNIMPL sync_file_range d585 1 a585 1 306 UNIMPL syncfs d599 3 a601 1 316 UNIMPL renameat2 d613 3 a615 1 326 UNIMPL copy_file_range d726 3 a728 1 435 UNIMPL clone3 @ 1.73 log @From gsoc 2024: Implement faccessat2 and getcpu (Shivraz) @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.72 2023/08/19 17:49:49 christos Exp $ d63 1 d461 17 a477 6 240 UNIMPL mq_open 241 UNIMPL mq_unlink 242 UNIMPL mq_timedsend 243 UNIMPL mq_timedreceive 244 UNIMPL mq_notify 245 UNIMPL mq_getsetattr @ 1.73.2.1 log @Sync with HEAD @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.75 2024/09/28 19:35:55 christos Exp $ a62 1 #include a63 1 #include d460 6 a465 17 240 STD { linux_mqd_t|linux_sys||mq_open(const char *name, \ int oflag, linux_umode_t mode, \ struct linux_mq_attr *attr); } 241 STD { int|linux_sys||mq_unlink(const char *name); } 242 STD { int|linux_sys||mq_timedsend(linux_mqd_t mqdes, \ const char *msg_ptr, size_t msg_len, \ unsigned int msg_prio, \ const struct linux_timespec *abs_timeout); } 243 STD { ssize_t|linux_sys||mq_timedreceive(linux_mqd_t mqdes, \ char *msg_ptr, size_t msg_len, \ unsigned int *msg_prio, \ const struct linux_timespec *abs_timeout); } 244 STD { int|linux_sys||mq_notify(linux_mqd_t mqdes, \ const struct linux_sigevent *sevp); } 245 STD { int|linux_sys||mq_getsetattr(linux_mqd_t mqdes, \ const struct linux_mq_attr *newattr, \ struct linux_mq_attr *oldattr); } d524 1 a524 2 277 STD { int|linux_sys||sync_file_range(int fd, \ off_t offset, off_t nbytes, unsigned int flags); } d571 1 a571 1 306 STD { int|linux_sys||syncfs(int fd); } d585 1 a585 3 316 STD { int|linux_sys||renameat2(int fromfd, \ const char *from, int tofd, const char *to, \ unsigned int flags); } d597 1 a597 3 326 STD { ssize_t|linux_sys||copy_file_range(int fd_in, \ off_t * off_in, int fd_out, off_t * off_out, \ size_t len, unsigned int flags); } d708 1 a708 3 435 STD { int|linux_sys||clone3( \ struct linux_user_clone3_args *cl_args, \ size_t size); } @ 1.72 log @Add inotify* syscalls GSoC 2023 (Theodore Preduta) @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.71 2023/08/18 19:41:19 christos Exp $ d58 1 d576 3 a578 1 309 UNIMPL getcpu d713 2 a714 1 439 UNIMPL faccessat2 @ 1.71 log @Add linux waitid(2) from GSoC 2023 (Theodore Preduta) @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.70 2023/07/29 15:04:28 christos Exp $ d474 4 a477 3 253 UNIMPL inotify_init 254 UNIMPL inotify_add_watch 255 UNIMPL inotify_rm_watch d551 1 a551 1 294 UNIMPL inotify_init1 d600 1 a600 1 332 STD { int|linux_sys||statx(int fd, const char *path, \ @ 1.70 log @Add/fix statx, readahead, close_range. From GSoC 2023 by Theodore Preduta @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.69 2023/07/28 18:19:00 christos Exp $ d466 3 a468 1 247 UNIMPL waitid @ 1.69 log @Add epoll(2) from Theodore Preduta as part of GSoC 2023 @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.68 2023/07/10 02:31:55 christos Exp $ d377 2 a378 1 187 UNIMPL readahead d597 3 a599 1 332 UNIMPL statx d703 2 a704 1 436 UNIMPL close_range @ 1.68 log @Add memfd_create(2) from GSoC 2023 by Theodore Preduta @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.67 2021/12/02 04:29:48 ryo Exp $ d54 1 d416 1 a416 1 213 UNIMPL epoll_create d446 5 a450 2 232 UNIMPL epoll_wait 233 UNIMPL epoll_ctl d524 3 a526 1 281 UNIMPL epoll_pwait d544 1 a544 1 291 UNIMPL epoll_create1 d705 4 a708 1 441 UNIMPL epoll_pwait2 @ 1.67 log @add prlimit64(2) syscall to COMPAT_LINUX and COMPAT_LINUX32 @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.66 2021/09/20 02:20:02 thorpej Exp $ d570 139 d711 1 a711 1 314 STD { int|linux_sys||nosys(void); } @ 1.66 log @Add preadv(2) and pwritev(2) system calls to COMPAT_LINUX and COMPAT_LINUX32. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.65 2021/09/20 00:09:01 thorpej Exp $ d555 2 a556 1 302 UNIMPL prlimit64 @ 1.65 log @Add the eventfd system calls to COMPAT_LINUX and COMPAT_LINUX32. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.64 2021/09/19 23:51:36 thorpej Exp $ d542 6 a547 2 295 UNIMPL preadv 296 UNIMPL pwritev @ 1.64 log @Add the timerfd syscalls to COMPAT_LINUX and COMPAT_LINUX32. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.63 2021/09/19 23:01:49 thorpej Exp $ d524 1 a524 1 284 UNIMPL eventfd d536 2 a537 1 290 UNIMPL eventfd2 @ 1.63 log @Add the POSIX timer syscalls (timer_create(), timer_settime(), timer_gettime(), timer_getoverrun(), and timer_delete()) to COMPAT_LINUX and COMPAT_LINUX32. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.62 2020/04/26 18:53:32 thorpej Exp $ d522 2 a523 1 283 UNIMPL timerfd_create d527 5 a531 2 286 UNIMPL timerfd_settime 287 UNIMPL timerfd_gettime @ 1.62 log @Add a NetBSD native futex implementation, mostly written by riastradh@@. Map the COMPAT_LINUX futex calls to the native ones. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.61 2019/11/09 23:44:31 jdolecek Exp $ d426 9 a434 5 222 UNIMPL timer_create 223 UNIMPL timer_settime 224 UNIMPL timer_gettime 225 UNIMPL timer_getoverrun 226 UNIMPL timer_delete @ 1.62.2.1 log @Add Linux eventfd, timerfd, and POSIX timer calls. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.62 2020/04/26 18:53:32 thorpej Exp $ d426 5 a430 9 222 STD { int|linux_sys||timer_create(clockid_t clockid, \ struct linux_sigevent *evp, timer_t *timerid); } 223 STD { int|linux_sys||timer_settime(timer_t timerid, \ int flags, const struct linux_itimerspec *tim, \ struct linux_itimerspec *otim); } 224 STD { int|linux_sys||timer_gettime(timer_t timerid, \ struct linux_itimerspec *tim); } 225 NOARGS { int|sys||timer_getoverrun(timer_t timerid); } 226 NOARGS { int|sys||timer_delete(timer_t timerid); } d518 2 a519 3 283 STD { int|linux_sys||timerfd_create(clockid_t clock_id, \ int flags); } 284 STD { int|linux_sys||eventfd(unsigned int initval); } d522 2 a523 5 286 STD { int|linux_sys||timerfd_settime(int fd, int flags, \ const struct linux_itimerspec *new_value, \ struct linux_itimerspec *old_value); } 287 STD { int|linux_sys||timerfd_gettime(int fd, \ struct linux_itimerspec *curr_value); } d528 1 a528 2 290 STD { int|linux_sys||eventfd2(unsigned int initval, \ int flags); } @ 1.62.2.2 log @Add suppport for Linux preadv(2) and pwritev(2). Same as native, except for the silly way that the offset argument is passed in. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.62.2.1 2020/12/15 14:07:20 thorpej Exp $ d542 2 a543 6 295 STD { int|linux_sys||preadv(int fd, \ const struct iovec *iovp, int iovcnt, \ unsigned long off_lo, unsigned long off_hi); } 296 STD { int|linux_sys||pwritev(int fd, \ const struct iovcnt *iovp, int iovcnt, \ unsigned long off_lo, unsigned long off_hi); } @ 1.61 log @add dummy implementation of linux fallocate() which just returns EOPNOTSUPP; this is needed so that glibc falls back to emulation and apps behaving properly, since EOPNOTSUPP is a documented and expected return code, but ENOSYS is not right now there are no filesystems in NetBSD tree supporting the fallocate VOP, so no point trying to map this to a native call supposed to help with problem reported in https://mail-index.netbsd.org/tech-kern/2019/11/03/msg025641.html @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.60 2017/02/03 16:18:19 christos Exp $ d500 9 a508 5 273 STD { int|linux_sys||set_robust_list( \ struct linux_robust_list_head *head, size_t len); } 274 STD { int|linux_sys||get_robust_list(int pid, \ struct linux_robust_list_head **head, \ size_t *len); } @ 1.60 log @add sendmmsg and recvmmsg @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.59 2017/02/02 15:35:46 christos Exp $ d516 2 a517 1 285 UNIMPL fallocate @ 1.60.14.1 log @Mostly merge changes from HEAD upto 20200411 @ text @d1 1 a1 1 $NetBSD$ d516 1 a516 2 285 STD { int|linux_sys||fallocate(int fd, int mode, \ off_t offset, off_t len); } @ 1.59 log @implement accept4 XXX: mips looks busted (the syscalls file has lots of NOARGS syscalls that should be STD). @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.58 2017/01/02 16:32:09 manu Exp $ d532 3 a534 1 299 UNIMPL recvmmsg d542 3 a544 1 307 UNIMPL sendmmsg @ 1.58 log @Add pselect6 Linux system call. This lets Matlab R2016A run on NetBSD/amd64 @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.57 2016/07/24 13:22:01 njoly Exp $ d519 3 a521 1 288 UNIMPL accept4 @ 1.58.2.1 log @Sync with HEAD @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.60 2017/02/03 16:18:19 christos Exp $ d519 1 a519 3 288 STD { int|linux_sys||accept4(int s, \ struct osockaddr *name, \ int *anamelen, int flags); } d530 1 a530 3 299 STD { int|linux_sys||recvmmsg(int s, \ struct linux_mmsghdr *msgvec, unsigned int vlen, \ unsigned int flags, struct timespec *timeout); } d538 1 a538 3 307 STD { int|linux_sys||sendmmsg(int s, \ struct linux_mmsghdr *msgvec, unsigned int vlen, \ unsigned int flags); } @ 1.57 log @Small cleanup. Adjust readlink/readlinkat signatures to reduce diffs with native. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.56 2015/10/27 07:15:38 njoly Exp $ d492 4 a495 1 270 UNIMPL pselect6 @ 1.56 log @Fix setuid/setgid return type (void -> int) to match native. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.55 2015/05/31 10:49:27 njoly Exp $ d238 1 a238 1 89 NOARGS { int|sys||readlink(const char *path, char *buf, \ d486 1 a486 1 267 NOARGS { int|sys||readlinkat(int fd, const char *path, \ @ 1.56.2.1 log @Sync with HEAD @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.57 2016/07/24 13:22:01 njoly Exp $ d238 1 a238 1 89 NOARGS { ssize_t|sys||readlink(const char *path, char *buf, \ d486 1 a486 1 267 NOARGS { ssize_t|sys||readlinkat(int fd, const char *path, \ @ 1.56.2.2 log @Sync with HEAD. (Note that most of these changes are simply $NetBSD$ tag issues.) @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.58 2017/01/02 16:32:09 manu Exp $ d492 1 a492 4 270 STD { int|linux_sys||pselect6(int nfds, fd_set *readfds, \ fd_set *writefds, fd_set *exceptfds, \ struct linux_timespec *timeout, \ linux_sized_sigset_t *ss); } @ 1.56.2.3 log @Sync with HEAD @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.60 2017/02/03 16:18:19 christos Exp $ d519 1 a519 3 288 STD { int|linux_sys||accept4(int s, \ struct osockaddr *name, \ int *anamelen, int flags); } d530 1 a530 3 299 STD { int|linux_sys||recvmmsg(int s, \ struct linux_mmsghdr *msgvec, unsigned int vlen, \ unsigned int flags, struct timespec *timeout); } d538 1 a538 3 307 STD { int|linux_sys||sendmmsg(int s, \ struct linux_mmsghdr *msgvec, unsigned int vlen, \ unsigned int flags); } @ 1.55 log @Fix write(2) size argument (int -> size_t). @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.54 2015/03/07 03:25:19 christos Exp $ d262 2 a263 2 105 NOARGS { void|sys||setuid(uid_t uid); } 106 NOARGS { void|sys||setgid(gid_t gid); } @ 1.54 log @fix inconsistent names @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.53 2014/11/22 13:18:45 njoly Exp $ d69 1 a69 1 int nbyte); } @ 1.53 log @Fix ppoll signature (int ->u_int) @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.52 2014/05/31 08:51:19 njoly Exp $ d237 2 a238 2 88 NOARGS { int|sys||symlink(const char *path, const char *to); } 89 NOARGS { int|sys||readlink(const char *name, char *buf, \ @ 1.53.2.1 log @Sync with HEAD @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.54 2015/03/07 03:25:19 christos Exp $ d237 2 a238 2 88 NOARGS { int|sys||symlink(const char *path, const char *link); } 89 NOARGS { int|sys||readlink(const char *path, char *buf, \ @ 1.53.2.2 log @Sync with HEAD @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.53.2.1 2015/04/06 15:18:05 skrll Exp $ d69 1 a69 1 size_t nbyte); } @ 1.53.2.3 log @Sync with HEAD (as of 26th Dec) @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.53.2.2 2015/06/06 14:40:05 skrll Exp $ d262 2 a263 2 105 NOARGS { int|sys||setuid(uid_t uid); } 106 NOARGS { int|sys||setgid(gid_t gid); } @ 1.53.2.4 log @Sync with HEAD @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.53.2.3 2015/12/27 12:09:46 skrll Exp $ d238 1 a238 1 89 NOARGS { ssize_t|sys||readlink(const char *path, char *buf, \ d486 1 a486 1 267 NOARGS { ssize_t|sys||readlinkat(int fd, const char *path, \ @ 1.53.2.5 log @Sync with HEAD @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.53.2.4 2016/10/05 20:55:38 skrll Exp $ d492 1 a492 4 270 STD { int|linux_sys||pselect6(int nfds, fd_set *readfds, \ fd_set *writefds, fd_set *exceptfds, \ struct linux_timespec *timeout, \ linux_sized_sigset_t *ss); } d516 1 a516 3 288 STD { int|linux_sys||accept4(int s, \ struct osockaddr *name, \ int *anamelen, int flags); } d527 1 a527 3 299 STD { int|linux_sys||recvmmsg(int s, \ struct linux_mmsghdr *msgvec, unsigned int vlen, \ unsigned int flags, struct timespec *timeout); } d535 1 a535 3 307 STD { int|linux_sys||sendmmsg(int s, \ struct linux_mmsghdr *msgvec, unsigned int vlen, \ unsigned int flags); } @ 1.52 log @Fix munmap(2) signature. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.51 2014/05/29 10:35:26 njoly Exp $ d493 1 a493 1 271 STD { int|linux_sys||ppoll(struct pollfd *fds, int nfds, \ @ 1.52.2.1 log @Pull up following revision(s) (requested by manu in ticket #1354): sys/compat/linux/arch/alpha/syscalls.master: revision 1.92 via patch sys/compat/linux/arch/amd64/syscalls.master: revision 1.58 via patch sys/compat/linux/arch/arm/syscalls.master: revision 1.65 via patch sys/compat/linux/arch/i386/syscalls.master: revision 1.122 via patch sys/compat/linux/arch/m68k/syscalls.master: revision 1.91 via patch sys/compat/linux/arch/mips/syscalls.master: revision 1.61 via patch sys/compat/linux/arch/powerpc/syscalls.master: revision 1.70 via patch sys/compat/linux/common/linux_misc.c: revision 1.234 sys/compat/linux/common/linux_signal.h: revision 1.31 Add pselect6 Linux system call. This lets Matlab R2016A run on NetBSD/amd64 @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.52 2014/05/31 08:51:19 njoly Exp $ d492 1 a492 4 270 STD { int|linux_sys||pselect6(int nfds, fd_set *readfds, \ fd_set *writefds, fd_set *exceptfds, \ struct linux_timespec *timeout, \ linux_sized_sigset_t *ss); } @ 1.51 log @For utimes(2), use compat_50_sys_utimes() instead of local version. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.50 2014/05/20 17:24:49 njoly Exp $ d88 1 a88 1 11 NOARGS { int|sys||munmap(void *addr, int len); } @ 1.50 log @Fix getgroups/setgroups signature. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.49 2014/05/17 09:23:51 njoly Exp $ d444 2 a445 1 235 STD { int|linux_sys||utimes(const char *path, struct linux_timeval *times); } @ 1.49 log @Fix fadvise64 syscalls to use 64bit offset types. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.48 2014/05/04 10:08:53 njoly Exp $ d272 2 a273 2 115 NOARGS { int|sys||getgroups(u_int gidsetsize, gid_t *gidset); } 116 NOARGS { int|sys||setgroups(u_int gidsetsize, gid_t *gidset); } @ 1.48 log @Fix pread/pwrite syscalls which need a 64bit offset argument. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.47 2014/04/08 16:48:01 njoly Exp $ d424 2 a425 2 221 STD { int|linux_sys||fadvise64(int fd, \ linux_off_t offset, size_t len, int advice); } @ 1.47 log @Adjust read/write/readv/writev signature to match native versions. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.46 2013/12/08 15:55:10 njoly Exp $ d102 1 a102 1 size_t nbyte, linux_off_t offset); } d104 1 a104 1 size_t nbyte, linux_off_t offset); } @ 1.46 log @Sprinkle a few more linux_umode_t where appropriate. Reduce diffs between archs. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.45 2013/11/18 01:32:52 chs Exp $ d67 3 a69 2 0 NOARGS { int|sys||read(int fd, char *buf, u_int nbyte); } 1 NOARGS { int|sys||write(int fd, char *buf, u_int nbyte); } d105 4 a108 4 19 NOARGS { int|sys||readv(int fd, struct iovec *iovp, \ u_int iovcnt); } 20 NOARGS { int|sys||writev(int fd, struct iovec *iovp, \ u_int iovcnt); } @ 1.46.2.1 log @Rebase. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.52 2014/05/31 08:51:19 njoly Exp $ d67 2 a68 3 0 NOARGS { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } 1 NOARGS { ssize_t|sys||write(int fd, const void *buf, \ int nbyte); } d87 1 a87 1 11 NOARGS { int|sys||munmap(void *addr, size_t len); } d101 1 a101 1 size_t nbyte, off_t offset); } d103 5 a107 5 size_t nbyte, off_t offset); } 19 NOARGS { ssize_t|sys||readv(int fd, \ const struct iovec *iovp, int iovcnt); } 20 NOARGS { ssize_t|sys||writev(int fd, \ const struct iovec *iovp, int iovcnt); } d271 2 a272 2 115 NOARGS { int|sys||getgroups(int gidsetsize, gid_t *gidset); } 116 NOARGS { int|sys||setgroups(int gidsetsize, gid_t *gidset); } d423 2 a424 2 221 STD { int|linux_sys||fadvise64(int fd, off_t offset, \ size_t len, int advice); } d443 1 a443 2 235 NOARGS { int|compat_50_sys||utimes(const char *path, \ const struct timeval50 *tptr); } @ 1.45 log @implement the *at() syscalls. bring the unimplemented syscall list up to date. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.44 2013/11/07 19:37:18 njoly Exp $ d233 1 a233 1 85 STD { int|linux_sys||creat(const char *path, int mode); } @ 1.44 log @Fix dup/dup2/dup3 argument types (u_int -> int). @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.43 2013/09/24 13:27:49 njoly Exp $ d70 1 a70 1 int mode); } d231 1 a231 1 83 NOARGS { int|sys||mkdir(const char *path, int mode); } d239 2 a240 2 90 NOARGS { int|sys||chmod(const char *path, int mode); } 91 NOARGS { int|sys||fchmod(int fd, int mode); } d303 2 a304 2 133 STD { int|linux_sys||mknod(const char *path, int mode, \ int dev); } d465 8 a472 4 257 UNIMPL openat 258 UNIMPL mkdirat 259 UNIMPL mknodat 260 UNIMPL fchownat d474 16 a489 8 262 UNIMPL newfstatat 263 UNIMPL unlinkat 264 UNIMPL renameat 265 UNIMPL linkat 266 UNIMPL symlinkat 267 UNIMPL readlinkat 268 UNIMPL fchmodat 269 UNIMPL faccessat d526 14 d542 1 a542 1 300 STD { int|linux_sys||nosys(void); } @ 1.43 log @Add utimensat(2) for compat linux. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.42 2013/04/08 20:54:47 pooka Exp $ d130 2 a131 2 32 NOARGS { int|sys||dup(u_int fd); } 33 NOARGS { int|sys||dup2(u_int from, u_int to); } @ 1.42 log @support utimes on non-alpha linux platforms @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.41 2012/09/19 21:19:14 pooka Exp $ d493 2 a494 1 280 UNIMPL utimensat @ 1.42.4.1 log @sync with head @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.42 2013/04/08 20:54:47 pooka Exp $ d67 2 a68 3 0 NOARGS { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } 1 NOARGS { ssize_t|sys||write(int fd, const void *buf, \ int nbyte); } d70 1 a70 1 linux_umode_t mode); } d101 1 a101 1 size_t nbyte, off_t offset); } d103 5 a107 5 size_t nbyte, off_t offset); } 19 NOARGS { ssize_t|sys||readv(int fd, \ const struct iovec *iovp, int iovcnt); } 20 NOARGS { ssize_t|sys||writev(int fd, \ const struct iovec *iovp, int iovcnt); } d130 2 a131 2 32 NOARGS { int|sys||dup(int fd); } 33 NOARGS { int|sys||dup2(int from, int to); } d231 1 a231 1 83 NOARGS { int|sys||mkdir(const char *path, linux_umode_t mode); } d233 1 a233 1 85 STD { int|linux_sys||creat(const char *path, linux_umode_t mode); } d239 2 a240 2 90 NOARGS { int|sys||chmod(const char *path, linux_umode_t mode); } 91 NOARGS { int|sys||fchmod(int fd, linux_umode_t mode); } d303 2 a304 2 133 STD { int|linux_sys||mknod(const char *path, linux_umode_t mode, \ unsigned dev); } d423 2 a424 2 221 STD { int|linux_sys||fadvise64(int fd, off_t offset, \ size_t len, int advice); } d465 4 a468 8 257 STD { int|linux_sys||openat(int fd, const char *path, \ int flags, ... linux_umode_t mode); } 258 NOARGS { int|sys||mkdirat(int fd, const char *path, \ linux_umode_t mode); } 259 STD { int|linux_sys||mknodat(int fd, const char *path, \ linux_umode_t mode, unsigned dev); } 260 STD { int|linux_sys||fchownat(int fd, const char *path, \ uid_t owner, gid_t group, int flag); } d470 8 a477 16 262 STD { int|linux_sys||fstatat64(int fd, const char *path, \ struct linux_stat *sp, int flag); } 263 STD { int|linux_sys||unlinkat(int fd, const char *path, \ int flag); } 264 NOARGS { int|sys||renameat(int fromfd, const char *from, \ int tofd, const char *to); } 265 STD { int|linux_sys||linkat(int fd1, const char *name1, \ int fd2, const char *name2, int flags); } 266 NOARGS { int|sys||symlinkat(const char *path1, int fd, \ const char *path2); } 267 NOARGS { int|sys||readlinkat(int fd, const char *path, \ char *buf, size_t bufsize); } 268 STD { int|linux_sys||fchmodat(int fd, const char *path, \ linux_umode_t mode); } 269 STD { int|linux_sys||faccessat(int fd, const char *path, \ int amode); } d493 1 a493 2 280 STD { int|linux_sys||utimensat(int fd, const char *path, \ struct linux_timespec *times, int flag); } a512 14 300 UNIMPL fanotify_init 301 UNIMPL fanotify_mark 302 UNIMPL prlimit64 303 UNIMPL name_to_handle_at 304 UNIMPL open_by_handle_at 305 UNIMPL clock_adjtime 306 UNIMPL syncfs 307 UNIMPL sendmmsg 308 UNIMPL setns 309 UNIMPL getcpu 310 UNIMPL process_vm_readv 311 UNIMPL process_vm_writev 312 UNIMPL kcmp 313 UNIMPL finit_module d515 1 a515 1 314 STD { int|linux_sys||nosys(void); } @ 1.41 log @emulate ppoll which is essentially our pollts @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.40 2011/11/18 04:03:50 christos Exp $ d443 1 a443 1 235 UNIMPL utimes @ 1.40 log @add sigtimedwait @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.39 2011/07/09 23:46:32 christos Exp $ d479 3 a481 1 271 UNIMPL ppoll @ 1.40.10.1 log @Resync to 2012-11-19 00:00:00 UTC @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.41 2012/09/19 21:19:14 pooka Exp $ d479 1 a479 3 271 STD { int|linux_sys||ppoll(struct pollfd *fds, int nfds, \ struct linux_timespec *timeout, \ linux_sigset_t *sigset); } @ 1.40.10.2 log @resync from head @ text @d1 1 a1 1 $NetBSD$ d443 1 a443 1 235 STD { int|linux_sys||utimes(const char *path, struct linux_timeval *times); } @ 1.40.10.3 log @Rebase to HEAD as of a few days ago. @ text @d67 2 a68 3 0 NOARGS { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } 1 NOARGS { ssize_t|sys||write(int fd, const void *buf, \ int nbyte); } d70 1 a70 1 linux_umode_t mode); } d87 1 a87 1 11 NOARGS { int|sys||munmap(void *addr, size_t len); } d101 1 a101 1 size_t nbyte, off_t offset); } d103 5 a107 5 size_t nbyte, off_t offset); } 19 NOARGS { ssize_t|sys||readv(int fd, \ const struct iovec *iovp, int iovcnt); } 20 NOARGS { ssize_t|sys||writev(int fd, \ const struct iovec *iovp, int iovcnt); } d130 2 a131 2 32 NOARGS { int|sys||dup(int fd); } 33 NOARGS { int|sys||dup2(int from, int to); } d231 1 a231 1 83 NOARGS { int|sys||mkdir(const char *path, linux_umode_t mode); } d233 1 a233 1 85 STD { int|linux_sys||creat(const char *path, linux_umode_t mode); } d239 2 a240 2 90 NOARGS { int|sys||chmod(const char *path, linux_umode_t mode); } 91 NOARGS { int|sys||fchmod(int fd, linux_umode_t mode); } d271 2 a272 2 115 NOARGS { int|sys||getgroups(int gidsetsize, gid_t *gidset); } 116 NOARGS { int|sys||setgroups(int gidsetsize, gid_t *gidset); } d303 2 a304 2 133 STD { int|linux_sys||mknod(const char *path, linux_umode_t mode, \ unsigned dev); } d423 2 a424 2 221 STD { int|linux_sys||fadvise64(int fd, off_t offset, \ size_t len, int advice); } d443 1 a443 2 235 NOARGS { int|compat_50_sys||utimes(const char *path, \ const struct timeval50 *tptr); } d465 4 a468 8 257 STD { int|linux_sys||openat(int fd, const char *path, \ int flags, ... linux_umode_t mode); } 258 NOARGS { int|sys||mkdirat(int fd, const char *path, \ linux_umode_t mode); } 259 STD { int|linux_sys||mknodat(int fd, const char *path, \ linux_umode_t mode, unsigned dev); } 260 STD { int|linux_sys||fchownat(int fd, const char *path, \ uid_t owner, gid_t group, int flag); } d470 8 a477 16 262 STD { int|linux_sys||fstatat64(int fd, const char *path, \ struct linux_stat *sp, int flag); } 263 STD { int|linux_sys||unlinkat(int fd, const char *path, \ int flag); } 264 NOARGS { int|sys||renameat(int fromfd, const char *from, \ int tofd, const char *to); } 265 STD { int|linux_sys||linkat(int fd1, const char *name1, \ int fd2, const char *name2, int flags); } 266 NOARGS { int|sys||symlinkat(const char *path1, int fd, \ const char *path2); } 267 NOARGS { int|sys||readlinkat(int fd, const char *path, \ char *buf, size_t bufsize); } 268 STD { int|linux_sys||fchmodat(int fd, const char *path, \ linux_umode_t mode); } 269 STD { int|linux_sys||faccessat(int fd, const char *path, \ int amode); } d493 1 a493 2 280 STD { int|linux_sys||utimensat(int fd, const char *path, \ struct linux_timespec *times, int flag); } a512 14 300 UNIMPL fanotify_init 301 UNIMPL fanotify_mark 302 UNIMPL prlimit64 303 UNIMPL name_to_handle_at 304 UNIMPL open_by_handle_at 305 UNIMPL clock_adjtime 306 UNIMPL syncfs 307 UNIMPL sendmmsg 308 UNIMPL setns 309 UNIMPL getcpu 310 UNIMPL process_vm_readv 311 UNIMPL process_vm_writev 312 UNIMPL kcmp 313 UNIMPL finit_module d515 1 a515 1 314 STD { int|linux_sys||nosys(void); } @ 1.40.10.4 log @update from HEAD @ text @d69 1 a69 1 size_t nbyte); } d237 2 a238 2 88 NOARGS { int|sys||symlink(const char *path, const char *link); } 89 NOARGS { ssize_t|sys||readlink(const char *path, char *buf, \ d262 2 a263 2 105 NOARGS { int|sys||setuid(uid_t uid); } 106 NOARGS { int|sys||setgid(gid_t gid); } d486 1 a486 1 267 NOARGS { ssize_t|sys||readlinkat(int fd, const char *path, \ d492 2 a493 5 270 STD { int|linux_sys||pselect6(int nfds, fd_set *readfds, \ fd_set *writefds, fd_set *exceptfds, \ struct linux_timespec *timeout, \ linux_sized_sigset_t *ss); } 271 STD { int|linux_sys||ppoll(struct pollfd *fds, u_int nfds, \ d516 1 a516 3 288 STD { int|linux_sys||accept4(int s, \ struct osockaddr *name, \ int *anamelen, int flags); } d527 1 a527 3 299 STD { int|linux_sys||recvmmsg(int s, \ struct linux_mmsghdr *msgvec, unsigned int vlen, \ unsigned int flags, struct timespec *timeout); } d535 1 a535 3 307 STD { int|linux_sys||sendmmsg(int s, \ struct linux_mmsghdr *msgvec, unsigned int vlen, \ unsigned int flags); } @ 1.39 log @revert accidental commit from unrelated change. no custom linux fork. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.38 2011/07/09 14:49:40 christos Exp $ d290 4 a293 1 128 UNIMPL rt_sigtimedwait @ 1.39.2.1 log @sync with head @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.39 2011/07/09 23:46:32 christos Exp $ d290 1 a290 4 128 STD { int|linux_sys||rt_sigtimedwait( \ const linux_sigset_t *set, \ linux_siginfo_t *info, \ const struct linux_timespec *timeout); } @ 1.39.2.2 log @sync with head @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.39.2.1 2012/04/17 00:07:15 yamt Exp $ d479 1 a479 3 271 STD { int|linux_sys||ppoll(struct pollfd *fds, int nfds, \ struct linux_timespec *timeout, \ linux_sigset_t *sigset); } @ 1.39.2.3 log @sync with head. for a reference, the tree before this commit was tagged as yamt-pagecache-tag8. this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments") @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.39.2.2 2012/10/30 17:20:40 yamt Exp $ d67 2 a68 3 0 NOARGS { ssize_t|sys||read(int fd, void *buf, size_t nbyte); } 1 NOARGS { ssize_t|sys||write(int fd, const void *buf, \ int nbyte); } d70 1 a70 1 linux_umode_t mode); } d101 1 a101 1 size_t nbyte, off_t offset); } d103 5 a107 5 size_t nbyte, off_t offset); } 19 NOARGS { ssize_t|sys||readv(int fd, \ const struct iovec *iovp, int iovcnt); } 20 NOARGS { ssize_t|sys||writev(int fd, \ const struct iovec *iovp, int iovcnt); } d130 2 a131 2 32 NOARGS { int|sys||dup(int fd); } 33 NOARGS { int|sys||dup2(int from, int to); } d231 1 a231 1 83 NOARGS { int|sys||mkdir(const char *path, linux_umode_t mode); } d233 1 a233 1 85 STD { int|linux_sys||creat(const char *path, linux_umode_t mode); } d239 2 a240 2 90 NOARGS { int|sys||chmod(const char *path, linux_umode_t mode); } 91 NOARGS { int|sys||fchmod(int fd, linux_umode_t mode); } d303 2 a304 2 133 STD { int|linux_sys||mknod(const char *path, linux_umode_t mode, \ unsigned dev); } d443 1 a443 1 235 STD { int|linux_sys||utimes(const char *path, struct linux_timeval *times); } d465 4 a468 8 257 STD { int|linux_sys||openat(int fd, const char *path, \ int flags, ... linux_umode_t mode); } 258 NOARGS { int|sys||mkdirat(int fd, const char *path, \ linux_umode_t mode); } 259 STD { int|linux_sys||mknodat(int fd, const char *path, \ linux_umode_t mode, unsigned dev); } 260 STD { int|linux_sys||fchownat(int fd, const char *path, \ uid_t owner, gid_t group, int flag); } d470 8 a477 16 262 STD { int|linux_sys||fstatat64(int fd, const char *path, \ struct linux_stat *sp, int flag); } 263 STD { int|linux_sys||unlinkat(int fd, const char *path, \ int flag); } 264 NOARGS { int|sys||renameat(int fromfd, const char *from, \ int tofd, const char *to); } 265 STD { int|linux_sys||linkat(int fd1, const char *name1, \ int fd2, const char *name2, int flags); } 266 NOARGS { int|sys||symlinkat(const char *path1, int fd, \ const char *path2); } 267 NOARGS { int|sys||readlinkat(int fd, const char *path, \ char *buf, size_t bufsize); } 268 STD { int|linux_sys||fchmodat(int fd, const char *path, \ linux_umode_t mode); } 269 STD { int|linux_sys||faccessat(int fd, const char *path, \ int amode); } d493 1 a493 2 280 STD { int|linux_sys||utimensat(int fd, const char *path, \ struct linux_timespec *times, int flag); } a512 14 300 UNIMPL fanotify_init 301 UNIMPL fanotify_mark 302 UNIMPL prlimit64 303 UNIMPL name_to_handle_at 304 UNIMPL open_by_handle_at 305 UNIMPL clock_adjtime 306 UNIMPL syncfs 307 UNIMPL sendmmsg 308 UNIMPL setns 309 UNIMPL getcpu 310 UNIMPL process_vm_readv 311 UNIMPL process_vm_writev 312 UNIMPL kcmp 313 UNIMPL finit_module d515 1 a515 1 314 STD { int|linux_sys||nosys(void); } @ 1.38 log @the first argument of {g,s}etitimer() is int not u_int. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.37 2011/05/30 17:50:31 alnsn Exp $ d177 1 a177 1 57 STD { int|linux_sys||fork(void); } @ 1.37 log @Add fadvise64 and fadvise64_64 syscalls to compat_linux and compat_linux32. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.36 2011/04/10 15:48:46 christos Exp $ d136 1 a136 1 36 NOARGS { int|compat_50_sys||getitimer(u_int which, \ d139 1 a139 1 38 NOARGS { int|compat_50_sys||setitimer(u_int which, \ d177 1 a177 1 57 NOARGS { int|sys||fork(void); } @ 1.36 log @add pipe2 and dup3 @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.35 2010/07/07 01:30:33 chs Exp $ d420 2 a421 1 221 UNIMPL fadvise64 @ 1.35 log @many changes for COMPAT_LINUX: - update the linux syscall table for each platform. - support new-style (NPTL) linux pthreads on all platforms. clone() with CLONE_THREAD uses 1 process with many LWPs instead of separate processes. - move the contents of sys__lwp_setprivate() into a new lwp_setprivate() and use that everywhere. - update linux_release[] and linux32_release[] to "2.6.18". - adjust placement of emul fork/exec/exit hooks as needed and adjust other emul code to match. - convert all struct emul definitions to use named initializers. - change the pid allocator to allow multiple pids to refer to the same proc. - remove a few fields from struct proc that are no longer needed. - disable the non-functional "vdso" code in linux32/amd64, glibc works fine without it. - fix a race in the futex code where we could miss a wakeup after a requeue operation. - redo futex locking to be a little more efficient. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.34 2009/11/24 10:42:43 njoly Exp $ d499 2 a500 2 292 UNIMPL dup3 293 UNIMPL pipe2 @ 1.35.2.1 log @Sync with HEAD. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.37 2011/05/30 17:50:31 alnsn Exp $ d420 1 a420 2 221 STD { int|linux_sys||fadvise64(int fd, \ linux_off_t offset, size_t len, int advice); } d499 2 a500 2 292 STD { int|linux_sys||dup3(int from, int to, int flags); } 293 STD { int|linux_sys||pipe2(int *pfds, int flags); } @ 1.34 log @Update personality(2) to match Linux definition where the argument is an unsigned long. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.33 2009/10/30 10:57:40 njoly Exp $ d142 1 a142 1 39 STD { pid_t|linux_sys||getpid(void); } d176 1 a176 1 void *parent_tidptr, void *child_tidptr); } d181 1 a181 1 60 NOARGS { int|sys||exit(int rval); } d266 1 a266 1 110 STD { pid_t|linux_sys||getppid(void); } d493 17 a509 1 286 STD { int|linux_sys||nosys(void); } @ 1.34.4.1 log @sync with head @ text @d1 1 a1 1 $NetBSD$ d142 1 a142 1 39 STD { pid_t|sys||getpid(void); } d176 1 a176 1 void *parent_tidptr, void *child_tidptr, void *tls); } d181 1 a181 1 60 STD { int|linux_sys||exit(int rval); } d266 1 a266 1 110 STD { pid_t|sys||getppid(void); } d493 1 a493 17 286 UNIMPL timerfd_settime 287 UNIMPL timerfd_gettime 288 UNIMPL accept4 289 UNIMPL signalfd4 290 UNIMPL eventfd2 291 UNIMPL epoll_create1 292 UNIMPL dup3 293 UNIMPL pipe2 294 UNIMPL inotify_init1 295 UNIMPL preadv 296 UNIMPL pwritev 297 UNIMPL rt_tgsigqueueinfo 298 UNIMPL perf_counter_open 299 UNIMPL recvmmsg ; we want a "nosys" syscall, we'll just add an extra entry for it. 300 STD { int|linux_sys||nosys(void); } @ 1.34.4.2 log @sync with head @ text @d499 2 a500 2 292 STD { int|linux_sys||dup3(int from, int to, int flags); } 293 STD { int|linux_sys||pipe2(int *pfds, int flags); } @ 1.34.4.3 log @sync with head @ text @d420 1 a420 2 221 STD { int|linux_sys||fadvise64(int fd, \ linux_off_t offset, size_t len, int advice); } @ 1.34.2.1 log @Sync with HEAD. @ text @d1 1 a1 1 $NetBSD$ d142 1 a142 1 39 STD { pid_t|sys||getpid(void); } d176 1 a176 1 void *parent_tidptr, void *child_tidptr, void *tls); } d181 1 a181 1 60 STD { int|linux_sys||exit(int rval); } d266 1 a266 1 110 STD { pid_t|sys||getppid(void); } d493 1 a493 17 286 UNIMPL timerfd_settime 287 UNIMPL timerfd_gettime 288 UNIMPL accept4 289 UNIMPL signalfd4 290 UNIMPL eventfd2 291 UNIMPL epoll_create1 292 UNIMPL dup3 293 UNIMPL pipe2 294 UNIMPL inotify_init1 295 UNIMPL preadv 296 UNIMPL pwritev 297 UNIMPL rt_tgsigqueueinfo 298 UNIMPL perf_counter_open 299 UNIMPL recvmmsg ; we want a "nosys" syscall, we'll just add an extra entry for it. 300 STD { int|linux_sys||nosys(void); } @ 1.33 log @stat64 syscalls require struct linux_stat64. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.32 2009/06/17 14:18:51 njoly Exp $ d307 1 a307 1 135 STD { int|linux_sys||personality(int per); } @ 1.32 log @Add a new linux_msghdr structure, as its size differs on 64bit archs. Do the needed conversions in sendmsg/recvmsg syscalls, and adjust their definitions accordingly. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.31 2009/06/08 13:26:57 njoly Exp $ d73 1 a73 1 struct linux_stat *sp); } d75 1 a75 1 struct linux_stat *sp); } d77 1 a77 1 struct linux_stat *sp); } @ 1.31 log @Update rt_queueinfo(2) definition, and kill a corresponding comment. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.30 2009/01/17 22:28:52 njoly Exp $ d157 1 a157 1 const struct msghdr *msg, int flags); } d159 1 a159 1 struct msghdr *msg, int flags); } @ 1.30 log @Convert linux/linux32 wait(4) to use a compat50 rusage structure. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.29 2009/01/15 23:48:50 njoly Exp $ d292 1 a292 1 siginfo_t *uinfo); } @ 1.30.2.1 log @Sync with HEAD. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.32 2009/06/17 14:18:51 njoly Exp $ d157 1 a157 1 const struct linux_msghdr *msg, int flags); } d159 1 a159 1 struct linux_msghdr *msg, int flags); } d292 1 a292 1 linux_siginfo_t *uinfo); } @ 1.29 log @Update some syscalls/arguments to use the new compat50 equivalents. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.28 2009/01/13 22:27:43 pooka Exp $ d183 1 a183 1 int options, struct rusage *rusage); } @ 1.28 log @Convert the syscalls.master to a format from which it is easier to parse and generate the compat name and basename (e.g. __stat50 and stat). Use this to autogenerate __RENAME()'s to the rump_syscalls header so that they can be called e.g. rump_sys_socket() instead of rump_sys___socket30(). @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.27 2009/01/11 02:45:48 christos Exp $ d112 1 a112 1 struct timeval *timeout); } d248 1 a248 1 96 STD { int|linux_sys||gettimeofday(struct timeval *tp, \ d252 2 a253 1 98 NOARGS { int|compat_50_sys||getrusage(int who, struct rusage50 *rusage); } d344 1 a344 1 164 STD { int|linux_sys||settimeofday(struct timeval *tp, \ @ 1.27 log @merge christos-time_t @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.26.4.2 2009/01/04 02:21:08 christos Exp $ d67 3 a69 3 0 NOARGS { int sys_read(int fd, char *buf, u_int nbyte); } 1 NOARGS { int sys_write(int fd, char *buf, u_int nbyte); } 2 STD { int linux_sys_open(const char *path, int flags, \ d71 2 a72 2 3 NOARGS { int sys_close(int fd); } 4 STD { int linux_sys_stat64(const char *path, \ d74 1 a74 1 5 STD { int linux_sys_fstat64(int fd, \ d76 1 a76 1 6 STD { int linux_sys_lstat64(const char *path, \ d78 1 a78 1 7 NOARGS { int sys_poll(struct pollfd *fds, u_int nfds, \ d80 1 a80 1 8 NOARGS { long compat_43_sys_lseek(int fd, long offset, \ d82 1 a82 1 9 NOARGS { linux_off_t linux_sys_mmap(unsigned long addr, \ d85 1 a85 1 10 STD { int linux_sys_mprotect(const void *start, \ d87 3 a89 3 11 NOARGS { int sys_munmap(void *addr, int len); } 12 STD { int linux_sys_brk(char *nsize); } 13 STD { int linux_sys_rt_sigaction(int signum, \ d93 1 a93 1 14 STD { int linux_sys_rt_sigprocmask(int how, \ d97 2 a98 2 15 NOARGS { int linux_sys_rt_sigreturn(void); } 16 STD { int linux_sys_ioctl(int fd, u_long com, \ d100 1 a100 1 17 STD { int linux_sys_pread(int fd, char *buf, \ d102 1 a102 1 18 STD { int linux_sys_pwrite(int fd, char *buf, \ d104 1 a104 1 19 NOARGS { int sys_readv(int fd, struct iovec *iovp, \ d106 1 a106 1 20 NOARGS { int sys_writev(int fd, struct iovec *iovp, \ d108 3 a110 3 21 NOARGS { int sys_access(const char *path, int flags); } 22 STD { int linux_sys_pipe(int *pfds); } 23 STD { int linux_sys_select(int nfds, fd_set *readfds, \ d113 2 a114 2 24 STD { int linux_sys_sched_yield(void); } 25 STD { void *linux_sys_mremap(void *old_address, \ d116 3 a118 3 26 NOARGS { int sys___msync13(void *addr, size_t len, int flags); } 27 NOARGS { int sys_mincore(void *addr, size_t len, char *vec); } 28 NOARGS { int sys_madvise(void *addr, size_t len, int behav); } d120 1 a120 1 29 NOARGS { int linux_sys_shmget(key_t key, size_t size, \ d122 2 a123 2 30 NOARGS { int sys_shmat(int shmid, void *shmaddr, int shmflg); } 31 NOARGS { int linux_sys_shmctl(int shmid, int cmd, \ d130 4 a133 4 32 NOARGS { int sys_dup(u_int fd); } 33 NOARGS { int sys_dup2(u_int from, u_int to); } 34 STD { int linux_sys_pause(void); } 35 STD { int linux_sys_nanosleep( \ d136 1 a136 1 36 NOARGS { int compat_50_sys_getitimer(u_int which, \ d138 2 a139 2 37 STD { int linux_sys_alarm(unsigned int secs); } 38 NOARGS { int compat_50_sys_setitimer(u_int which, \ d142 1 a142 1 39 STD { pid_t linux_sys_getpid(void); } d144 1 a144 1 41 STD { int linux_sys_socket(int domain, \ d146 1 a146 1 42 STD { int linux_sys_connect(int s, \ d149 1 a149 1 43 STD { int linux_sys_accept(int s, struct osockaddr *name, \ d151 1 a151 1 44 STD { ssize_t linux_sys_sendto(int s, void *msg, int len, \ d153 1 a153 1 45 STD { ssize_t linux_sys_recvfrom(int s, void *buf, \ d156 1 a156 1 46 STD { int linux_sys_sendmsg(int s, \ d158 1 a158 1 47 STD { ssize_t linux_sys_recvmsg(int s, \ d160 2 a161 2 48 NOARGS { int sys_shutdown(int s, int how); } 49 STD { int linux_sys_bind(int s, \ d164 2 a165 2 50 NOARGS { int sys_listen(int s, int backlog); } 51 STD { int linux_sys_getsockname(int fdec, void *asa, \ d167 1 a167 1 52 STD { int linux_sys_getpeername(int fdes, \ d169 1 a169 1 53 STD { int linux_sys_socketpair(int domain, int type, \ d171 1 a171 1 54 STD { int linux_sys_setsockopt(int s, int level, \ d173 1 a173 1 55 STD { int linux_sys_getsockopt(int s, int level, \ d175 1 a175 1 56 STD { int linux_sys_clone(int flags, void *stack, \ d177 3 a179 3 57 NOARGS { int sys_fork(void); } 58 NOARGS { int sys___vfork14(void); } 59 NOARGS { int sys_execve(const char *path, char **argp, \ d181 2 a182 2 60 NOARGS { int sys_exit(int rval); } 61 STD { int linux_sys_wait4(int pid, int *status, \ d184 2 a185 2 62 STD { int linux_sys_kill(int pid, int signum); } 63 STD { int linux_sys_uname(struct linux_utsname *up); } d187 2 a188 2 64 NOARGS { int sys_semget(key_t key, int nsems, int semflg); } 65 NOARGS { int sys_semop(int semid, struct sembuf *sops, \ d190 1 a190 1 66 STD { int linux_sys_semctl(int semid, int semnum, \ d198 1 a198 1 67 NOARGS { int sys_shmdt(const void *shmaddr); } d203 2 a204 2 68 NOARGS { int sys_msgget(key_t key, int msgflg); } 69 NOARGS { int sys_msgsnd(int msqid, void *msgp, size_t msgsz, \ d206 1 a206 1 70 NOARGS { ssize_t sys_msgrcv(int msqid, void *msgp, \ d208 1 a208 1 71 NOARGS { int linux_sys_msgctl(int msqid, int cmd, \ d216 5 a220 5 72 STD { int linux_sys_fcntl(int fd, int cmd, void *arg); } 73 NOARGS { int sys_flock(int fd, int how); } 74 NOARGS { int sys_fsync(int fd); } 75 STD { int linux_sys_fdatasync(int fd); } 76 STD { int linux_sys_truncate64(const char *path, \ d222 1 a222 1 77 STD { int linux_sys_ftruncate64(unsigned int fd, \ d224 1 a224 1 78 STD { int linux_sys_getdents(int fd, \ d226 4 a229 4 79 NOARGS { int sys___getcwd(char *bufp, size_t length); } 80 NOARGS { int sys_chdir(const char *path); } 81 NOARGS { int sys_fchdir(int fd); } 82 NOARGS { int sys___posix_rename(const char *from, \ d231 7 a237 7 83 NOARGS { int sys_mkdir(const char *path, int mode); } 84 NOARGS { int sys_rmdir(const char *path); } 85 STD { int linux_sys_creat(const char *path, int mode); } 86 NOARGS { int sys_link(const char *path, const char *link); } 87 STD { int linux_sys_unlink(const char *path); } 88 NOARGS { int sys_symlink(const char *path, const char *to); } 89 NOARGS { int sys_readlink(const char *name, char *buf, \ d239 3 a241 3 90 NOARGS { int sys_chmod(const char *path, int mode); } 91 NOARGS { int sys_fchmod(int fd, int mode); } 92 NOARGS { int sys___posix_chown(const char *path, uid_t uid, \ d243 1 a243 1 93 NOARGS { int sys___posix_fchown(int fd, uid_t uid, \ d245 1 a245 1 94 NOARGS { int sys___posix_lchown(const char *path, uid_t uid, \ d247 2 a248 2 95 NOARGS { int sys_umask(int newmask); } 96 STD { int linux_sys_gettimeofday(struct timeval *tp, \ d250 1 a250 1 97 STD { int linux_sys_getrlimit(int which, \ d252 4 a255 4 98 NOARGS { int compat_50_sys_getrusage(int who, struct rusage50 *rusage); } 99 STD { int linux_sys_sysinfo(struct linux_sysinfo *arg); } 100 STD { int linux_sys_times(struct times *tms); } 101 STD { int linux_sys_ptrace(long request, long pid, \ d257 1 a257 1 102 NOARGS { uid_t sys_getuid(void); } d259 14 a272 14 104 NOARGS { gid_t sys_getgid(void); } 105 NOARGS { void sys_setuid(uid_t uid); } 106 NOARGS { void sys_setgid(gid_t gid); } 107 NOARGS { uid_t sys_geteuid(void); } 108 NOARGS { gid_t sys_getegid(void); } 109 NOARGS { int sys_setpgid(int pid, int pgid); } 110 STD { pid_t linux_sys_getppid(void); } 111 NOARGS { int sys_getpgrp(void); } 112 NOARGS { int sys_setsid(void); } 113 NOARGS { int sys_setreuid(uid_t ruid, uid_t euid); } 114 NOARGS { int sys_setregid(gid_t rgid, gid_t egid); } 115 NOARGS { int sys_getgroups(u_int gidsetsize, gid_t *gidset); } 116 NOARGS { int sys_setgroups(u_int gidsetsize, gid_t *gidset); } 117 STD { int linux_sys_setresuid(uid_t ruid, uid_t euid, \ d274 1 a274 1 118 STD { int linux_sys_getresuid(uid_t *ruid, uid_t *euid, \ d276 1 a276 1 119 STD { int linux_sys_setresgid(gid_t rgid, gid_t egid, \ d278 1 a278 1 120 STD { int linux_sys_getresgid(gid_t *rgid, gid_t *egid, \ d280 4 a283 4 121 NOARGS { pid_t sys_getpgid(pid_t pid); } 122 STD { int linux_sys_setfsuid(uid_t uid); } 123 STD { int linux_sys_setfsgid(gid_t gid); } 124 NOARGS { pid_t sys_getsid(pid_t pid); } d286 1 a286 1 127 STD { int linux_sys_rt_sigpending( \ d290 1 a290 1 129 STD { int linux_sys_rt_queueinfo(int pid, int signum, \ d292 1 a292 1 130 STD { int linux_sys_rt_sigsuspend(linux_sigset_t *unewset, \ d294 1 a294 1 131 STD { int linux_sys_sigaltstack( \ d297 1 a297 1 132 STD { int linux_sys_utime(const char *path, \ d299 1 a299 1 133 STD { int linux_sys_mknod(const char *path, int mode, \ d302 1 a302 1 134 STD { int linux_sys_uselib(const char *path); } d306 1 a306 1 135 STD { int linux_sys_personality(int per); } d308 1 a308 1 137 STD { int linux_sys_statfs(const char *path, \ d310 1 a310 1 138 STD { int linux_sys_fstatfs(int fd, \ d313 3 a315 3 140 STD { int linux_sys_getpriority(int which, int who); } 141 NOARGS { int sys_setpriority(int which, int who, int prio); } 142 STD { int linux_sys_sched_setparam(pid_t pid, \ d317 1 a317 1 143 STD { int linux_sys_sched_getparam(pid_t pid, \ d319 1 a319 1 144 STD { int linux_sys_sched_setscheduler(pid_t pid, \ d321 3 a323 3 145 STD { int linux_sys_sched_getscheduler(pid_t pid); } 146 STD { int linux_sys_sched_get_priority_max(int policy); } 147 STD { int linux_sys_sched_get_priority_min(int policy); } d325 4 a328 4 149 NOARGS { int sys_mlock(void *addr, size_t len); } 150 NOARGS { int sys_munlock(void *addr, size_t len); } 151 NOARGS { int sys_mlockall(int flags); } 152 NOARGS { int sys_munlockall(void); } d330 1 a330 1 154 STD { int linux_sys_modify_ldt(int func, void *ptr, \ d333 1 a333 1 156 STD { int linux_sys___sysctl(struct linux___sysctl *lsp); } d335 1 a335 1 158 STD { int linux_sys_arch_prctl(int code, \ d338 1 a338 1 160 STD { int linux_sys_setrlimit(u_int which, \ d340 4 a343 4 161 NOARGS { int sys_chroot(char *path); } 162 NOARGS { int sys_sync(void); } 163 NOARGS { int sys_acct(char *path); } 164 STD { int linux_sys_settimeofday(struct timeval *tp, \ d347 3 a349 3 167 STD { int linux_sys_swapon(char *name); } 168 STD { int linux_sys_swapoff(const char *path); } 169 STD { int linux_sys_reboot(int magic1, int magic2, \ d351 1 a351 1 170 NOARGS { int compat_43_sys_sethostname(char *hostname, \ d353 1 a353 1 171 STD { int linux_sys_setdomainname(char *domainname, \ d355 2 a356 2 172 STD { int linux_sys_iopl(int level); } 173 STD { int linux_sys_ioperm(unsigned int lo, \ d370 1 a370 1 186 STD { pid_t linux_sys_gettid(void); } d372 1 a372 1 188 STD { int linux_sys_setxattr(char *path, char *name, \ d374 1 a374 1 189 STD { int linux_sys_lsetxattr(char *path, char *name, \ d376 1 a376 1 190 STD { int linux_sys_fsetxattr(int fd, char *name, \ d378 1 a378 1 191 STD { ssize_t linux_sys_getxattr(char *path, char *name, \ d380 1 a380 1 192 STD { ssize_t linux_sys_lgetxattr(char *path, char *name, \ d382 1 a382 1 193 STD { ssize_t linux_sys_fgetxattr(int fd, char *name, \ d384 1 a384 1 194 STD { ssize_t linux_sys_listxattr(char *path, char *list, \ d386 1 a386 1 195 STD { ssize_t linux_sys_llistxattr(char *path, char *list, \ d388 1 a388 1 196 STD { ssize_t linux_sys_flistxattr(int fd, char *list, \ d390 6 a395 6 197 STD { int linux_sys_removexattr(char *path, char *name); } 198 STD { int linux_sys_lremovexattr(char *path, char *name); } 199 STD { int linux_sys_fremovexattr(int fd, char *name); } 200 STD { int linux_sys_tkill(int tid, int sig); } 201 STD { int linux_sys_time(linux_time_t *t); } 202 STD { int linux_sys_futex(int *uaddr, int op, int val, \ d398 1 a398 1 203 STD { int linux_sys_sched_setaffinity(pid_t pid, \ d400 1 a400 1 204 STD { int linux_sys_sched_getaffinity(pid_t pid, \ d414 1 a414 1 217 STD { int linux_sys_getdents64(int fd, \ d416 1 a416 1 218 STD { int linux_sys_set_tid_address(int *tid); } d425 1 a425 1 227 STD { int linux_sys_clock_settime(clockid_t which, \ d427 1 a427 1 228 STD { int linux_sys_clock_gettime(clockid_t which, \ d429 1 a429 1 229 STD { int linux_sys_clock_getres(clockid_t which, \ d431 1 a431 1 230 STD { int linux_sys_clock_nanosleep(clockid_t which, \ d434 1 a434 1 231 STD { int linux_sys_exit_group(int error_code); } d437 1 a437 1 234 STD { int linux_sys_tgkill(int tgid, int tid, int sig); } d476 1 a476 1 273 STD { int linux_sys_set_robust_list( \ d478 1 a478 1 274 STD { int linux_sys_get_robust_list(int pid, \ d492 1 a492 1 286 STD { int linux_sys_nosys(void); } @ 1.26 log @futex(2) timeout argument cleanup/fix. - Use `struct linux_timespec', converted to native structure. - Ensure that provided values are correct. - Replace timeval+tvtohz by tstohz. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.25 2008/11/12 18:07:40 njoly Exp $ d39 1 d42 1 d49 3 d136 2 a137 2 36 NOARGS { int sys_getitimer(u_int which, \ struct itimerval *itv); } d139 3 a141 2 38 NOARGS { int sys_setitimer(u_int which, \ struct itimerval *itv, struct itimerval *oitv); } d252 1 a252 1 98 NOARGS { int sys_getrusage(int who, struct rusage *rusage); } @ 1.26.4.1 log @file syscalls.master was added on branch christos-time_t on 2008-12-30 19:34:34 +0000 @ text @d1 486 @ 1.26.4.2 log @time_t 64 changes. @ text @a0 491 $NetBSD: syscalls.master,v 1.26.4.1 2008/12/30 19:34:34 christos Exp $ ; @@(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; NetBSD amd64 COMPAT_LINUX system call name/number "master" file. ; (See syscalls.conf to see what it is processed into.) ; ; Fields: number type [type-dependent ...] ; number system call number, must be in order ; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of ; the compatibility options defined in syscalls.conf. ; ; types: ; STD always included ; OBSOL obsolete, not included in system ; UNIMPL unimplemented, not included in system ; NODEF included, but don't define the syscall number ; NOARGS included, but don't define the syscall args structure ; INDIR included, but don't define the syscall args structure ; and allow it to be "really" varargs. ; ; The compat options are defined in the syscalls.conf file, and the ; compat option name is prefixed to the syscall name. Other than ; that, they're like NODEF (for 'compat' options), or STD (for ; 'libcompat' options). ; ; The type-dependent arguments are as follows: ; For STD, NODEF, NOARGS, and compat syscalls: ; { pseudo-proto } [alias] ; For other syscalls: ; [comment] ; ; #ifdef's, etc. may be included, and are copied to the output files. ; #include's are copied to the syscall names and switch definition files only. #if defined(_KERNEL_OPT) #include "opt_sysv.h" #include "opt_compat_43.h" #endif #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include %% 0 NOARGS { int sys_read(int fd, char *buf, u_int nbyte); } 1 NOARGS { int sys_write(int fd, char *buf, u_int nbyte); } 2 STD { int linux_sys_open(const char *path, int flags, \ int mode); } 3 NOARGS { int sys_close(int fd); } 4 STD { int linux_sys_stat64(const char *path, \ struct linux_stat *sp); } 5 STD { int linux_sys_fstat64(int fd, \ struct linux_stat *sp); } 6 STD { int linux_sys_lstat64(const char *path, \ struct linux_stat *sp); } 7 NOARGS { int sys_poll(struct pollfd *fds, u_int nfds, \ int timeout); } 8 NOARGS { long compat_43_sys_lseek(int fd, long offset, \ int whence); } 9 NOARGS { linux_off_t linux_sys_mmap(unsigned long addr, \ size_t len, int prot, int flags, int fd, \ linux_off_t offset); } 10 STD { int linux_sys_mprotect(const void *start, \ unsigned long len, int prot); } 11 NOARGS { int sys_munmap(void *addr, int len); } 12 STD { int linux_sys_brk(char *nsize); } 13 STD { int linux_sys_rt_sigaction(int signum, \ const struct linux_sigaction *nsa, \ struct linux_sigaction *osa, \ size_t sigsetsize); } 14 STD { int linux_sys_rt_sigprocmask(int how, \ const linux_sigset_t *set, \ linux_sigset_t *oset, \ size_t sigsetsize); } 15 NOARGS { int linux_sys_rt_sigreturn(void); } 16 STD { int linux_sys_ioctl(int fd, u_long com, \ void *data); } 17 STD { int linux_sys_pread(int fd, char *buf, \ size_t nbyte, linux_off_t offset); } 18 STD { int linux_sys_pwrite(int fd, char *buf, \ size_t nbyte, linux_off_t offset); } 19 NOARGS { int sys_readv(int fd, struct iovec *iovp, \ u_int iovcnt); } 20 NOARGS { int sys_writev(int fd, struct iovec *iovp, \ u_int iovcnt); } 21 NOARGS { int sys_access(const char *path, int flags); } 22 STD { int linux_sys_pipe(int *pfds); } 23 STD { int linux_sys_select(int nfds, fd_set *readfds, \ fd_set *writefds, fd_set *exceptfds, \ struct timeval *timeout); } 24 STD { int linux_sys_sched_yield(void); } 25 STD { void *linux_sys_mremap(void *old_address, \ size_t old_size, size_t new_size, u_long flags); } 26 NOARGS { int sys___msync13(void *addr, size_t len, int flags); } 27 NOARGS { int sys_mincore(void *addr, size_t len, char *vec); } 28 NOARGS { int sys_madvise(void *addr, size_t len, int behav); } #ifdef SYSVSHM 29 NOARGS { int linux_sys_shmget(key_t key, size_t size, \ int shmflg); } 30 NOARGS { int sys_shmat(int shmid, void *shmaddr, int shmflg); } 31 NOARGS { int linux_sys_shmctl(int shmid, int cmd, \ struct linux_shmid_ds *buf); } #else 29 UNIMPL shmget 30 UNIMPL shmat 31 UNIMPL shmctl #endif 32 NOARGS { int sys_dup(u_int fd); } 33 NOARGS { int sys_dup2(u_int from, u_int to); } 34 STD { int linux_sys_pause(void); } 35 STD { int linux_sys_nanosleep( \ const struct linux_timespec *rqtp, \ struct linux_timespec *rmtp); } 36 NOARGS { int compat_50_sys_getitimer(u_int which, \ struct itimerval50 *itv); } 37 STD { int linux_sys_alarm(unsigned int secs); } 38 NOARGS { int compat_50_sys_setitimer(u_int which, \ struct itimerval50 *itv, \ struct itimerval50 *oitv); } 39 STD { pid_t linux_sys_getpid(void); } 40 UNIMPL sendfile 41 STD { int linux_sys_socket(int domain, \ int type, int protocol); } 42 STD { int linux_sys_connect(int s, \ const struct osockaddr *name, \ unsigned int namelen); } 43 STD { int linux_sys_accept(int s, struct osockaddr *name, \ int *anamelen); } oaccept 44 STD { ssize_t linux_sys_sendto(int s, void *msg, int len, \ int flags, struct osockaddr *to, int tolen); } 45 STD { ssize_t linux_sys_recvfrom(int s, void *buf, \ size_t len, int flags, struct osockaddr *from, \ unsigned int *fromlenaddr); } 46 STD { int linux_sys_sendmsg(int s, \ const struct msghdr *msg, int flags); } 47 STD { ssize_t linux_sys_recvmsg(int s, \ struct msghdr *msg, int flags); } 48 NOARGS { int sys_shutdown(int s, int how); } 49 STD { int linux_sys_bind(int s, \ const struct osockaddr *name, \ unsigned int namelen); } 50 NOARGS { int sys_listen(int s, int backlog); } 51 STD { int linux_sys_getsockname(int fdec, void *asa, \ int *alen); } 52 STD { int linux_sys_getpeername(int fdes, \ struct sockaddr *asa, unsigned int *alen); } 53 STD { int linux_sys_socketpair(int domain, int type, \ int protocol, int *rsv); } 54 STD { int linux_sys_setsockopt(int s, int level, \ int optname, void *optval, int optlen); } 55 STD { int linux_sys_getsockopt(int s, int level, \ int optname, void *optval, int *optlen); } 56 STD { int linux_sys_clone(int flags, void *stack, \ void *parent_tidptr, void *child_tidptr); } 57 NOARGS { int sys_fork(void); } 58 NOARGS { int sys___vfork14(void); } 59 NOARGS { int sys_execve(const char *path, char **argp, \ char **envp); } 60 NOARGS { int sys_exit(int rval); } 61 STD { int linux_sys_wait4(int pid, int *status, \ int options, struct rusage *rusage); } 62 STD { int linux_sys_kill(int pid, int signum); } 63 STD { int linux_sys_uname(struct linux_utsname *up); } #ifdef SYSVSEM 64 NOARGS { int sys_semget(key_t key, int nsems, int semflg); } 65 NOARGS { int sys_semop(int semid, struct sembuf *sops, \ size_t nsops); } 66 STD { int linux_sys_semctl(int semid, int semnum, \ int cmd, union linux_semun arg); } #else 64 UNIMPL semget 65 UNIMPL semop 66 UNIMPL semctl #endif #ifdef SYSVSHM 67 NOARGS { int sys_shmdt(const void *shmaddr); } #else 67 UNIMPL shmdt #endif #ifdef SYSVMSG 68 NOARGS { int sys_msgget(key_t key, int msgflg); } 69 NOARGS { int sys_msgsnd(int msqid, void *msgp, size_t msgsz, \ int msgflg); } 70 NOARGS { ssize_t sys_msgrcv(int msqid, void *msgp, \ size_t msgsz, long msgtyp, int msgflg); } 71 NOARGS { int linux_sys_msgctl(int msqid, int cmd, \ struct linux_msqid_ds *buf); } #else 68 UNIMPL msgget 69 UNIMPL msgsnd 70 UNIMPL msgrcv 71 UNIMPL msgctl #endif 72 STD { int linux_sys_fcntl(int fd, int cmd, void *arg); } 73 NOARGS { int sys_flock(int fd, int how); } 74 NOARGS { int sys_fsync(int fd); } 75 STD { int linux_sys_fdatasync(int fd); } 76 STD { int linux_sys_truncate64(const char *path, \ off_t length); } 77 STD { int linux_sys_ftruncate64(unsigned int fd, \ off_t length); } 78 STD { int linux_sys_getdents(int fd, \ struct linux_dirent *dent, unsigned int count); } 79 NOARGS { int sys___getcwd(char *bufp, size_t length); } 80 NOARGS { int sys_chdir(const char *path); } 81 NOARGS { int sys_fchdir(int fd); } 82 NOARGS { int sys___posix_rename(const char *from, \ const char *to); } 83 NOARGS { int sys_mkdir(const char *path, int mode); } 84 NOARGS { int sys_rmdir(const char *path); } 85 STD { int linux_sys_creat(const char *path, int mode); } 86 NOARGS { int sys_link(const char *path, const char *link); } 87 STD { int linux_sys_unlink(const char *path); } 88 NOARGS { int sys_symlink(const char *path, const char *to); } 89 NOARGS { int sys_readlink(const char *name, char *buf, \ int count); } 90 NOARGS { int sys_chmod(const char *path, int mode); } 91 NOARGS { int sys_fchmod(int fd, int mode); } 92 NOARGS { int sys___posix_chown(const char *path, uid_t uid, \ gid_t gid); } 93 NOARGS { int sys___posix_fchown(int fd, uid_t uid, \ gid_t gid); } 94 NOARGS { int sys___posix_lchown(const char *path, uid_t uid, \ gid_t gid); } 95 NOARGS { int sys_umask(int newmask); } 96 STD { int linux_sys_gettimeofday(struct timeval *tp, \ struct timezone *tzp); } 97 STD { int linux_sys_getrlimit(int which, \ struct rlimit *rlp); } 98 NOARGS { int compat_50_sys_getrusage(int who, struct rusage50 *rusage); } 99 STD { int linux_sys_sysinfo(struct linux_sysinfo *arg); } 100 STD { int linux_sys_times(struct times *tms); } 101 STD { int linux_sys_ptrace(long request, long pid, \ long addr, long data); } 102 NOARGS { uid_t sys_getuid(void); } 103 UNIMPL syslog 104 NOARGS { gid_t sys_getgid(void); } 105 NOARGS { void sys_setuid(uid_t uid); } 106 NOARGS { void sys_setgid(gid_t gid); } 107 NOARGS { uid_t sys_geteuid(void); } 108 NOARGS { gid_t sys_getegid(void); } 109 NOARGS { int sys_setpgid(int pid, int pgid); } 110 STD { pid_t linux_sys_getppid(void); } 111 NOARGS { int sys_getpgrp(void); } 112 NOARGS { int sys_setsid(void); } 113 NOARGS { int sys_setreuid(uid_t ruid, uid_t euid); } 114 NOARGS { int sys_setregid(gid_t rgid, gid_t egid); } 115 NOARGS { int sys_getgroups(u_int gidsetsize, gid_t *gidset); } 116 NOARGS { int sys_setgroups(u_int gidsetsize, gid_t *gidset); } 117 STD { int linux_sys_setresuid(uid_t ruid, uid_t euid, \ uid_t suid); } 118 STD { int linux_sys_getresuid(uid_t *ruid, uid_t *euid, \ uid_t *suid); } 119 STD { int linux_sys_setresgid(gid_t rgid, gid_t egid, \ gid_t sgid); } 120 STD { int linux_sys_getresgid(gid_t *rgid, gid_t *egid, \ gid_t *sgid); } 121 NOARGS { pid_t sys_getpgid(pid_t pid); } 122 STD { int linux_sys_setfsuid(uid_t uid); } 123 STD { int linux_sys_setfsgid(gid_t gid); } 124 NOARGS { pid_t sys_getsid(pid_t pid); } 125 UNIMPL capget 126 UNIMPL capset 127 STD { int linux_sys_rt_sigpending( \ linux_sigset_t *set, \ size_t sigsetsize); } 128 UNIMPL rt_sigtimedwait 129 STD { int linux_sys_rt_queueinfo(int pid, int signum, \ siginfo_t *uinfo); } 130 STD { int linux_sys_rt_sigsuspend(linux_sigset_t *unewset, \ size_t sigsetsize); } 131 STD { int linux_sys_sigaltstack( \ const struct linux_sigaltstack *ss, \ struct linux_sigaltstack *oss); } 132 STD { int linux_sys_utime(const char *path, \ struct linux_utimbuf *times); } 133 STD { int linux_sys_mknod(const char *path, int mode, \ int dev); } #ifdef EXEC_AOUT 134 STD { int linux_sys_uselib(const char *path); } #else 134 UNIMPL sys_uselib #endif 135 STD { int linux_sys_personality(int per); } 136 UNIMPL ustat 137 STD { int linux_sys_statfs(const char *path, \ struct linux_statfs *sp); } 138 STD { int linux_sys_fstatfs(int fd, \ struct linux_statfs *sp); } 139 UNIMPL sysfs 140 STD { int linux_sys_getpriority(int which, int who); } 141 NOARGS { int sys_setpriority(int which, int who, int prio); } 142 STD { int linux_sys_sched_setparam(pid_t pid, \ const struct linux_sched_param *sp); } 143 STD { int linux_sys_sched_getparam(pid_t pid, \ struct linux_sched_param *sp); } 144 STD { int linux_sys_sched_setscheduler(pid_t pid, \ int policy, const struct linux_sched_param *sp); } 145 STD { int linux_sys_sched_getscheduler(pid_t pid); } 146 STD { int linux_sys_sched_get_priority_max(int policy); } 147 STD { int linux_sys_sched_get_priority_min(int policy); } 148 UNIMPL sys_sched_rr_get_interval 149 NOARGS { int sys_mlock(void *addr, size_t len); } 150 NOARGS { int sys_munlock(void *addr, size_t len); } 151 NOARGS { int sys_mlockall(int flags); } 152 NOARGS { int sys_munlockall(void); } 153 UNIMPL vhangup 154 STD { int linux_sys_modify_ldt(int func, void *ptr, \ size_t bytecount); } 155 UNIMPL pivot_root 156 STD { int linux_sys___sysctl(struct linux___sysctl *lsp); } 157 UNIMPL prctl 158 STD { int linux_sys_arch_prctl(int code, \ unsigned long addr); } 159 UNIMPL adjtimex 160 STD { int linux_sys_setrlimit(u_int which, \ struct rlimit *rlp); } 161 NOARGS { int sys_chroot(char *path); } 162 NOARGS { int sys_sync(void); } 163 NOARGS { int sys_acct(char *path); } 164 STD { int linux_sys_settimeofday(struct timeval *tp, \ struct timezone *tzp); } 165 UNIMPL mount 166 UNIMPL umount2 167 STD { int linux_sys_swapon(char *name); } 168 STD { int linux_sys_swapoff(const char *path); } 169 STD { int linux_sys_reboot(int magic1, int magic2, \ int cmd, void *arg); } 170 NOARGS { int compat_43_sys_sethostname(char *hostname, \ u_int len);} 171 STD { int linux_sys_setdomainname(char *domainname, \ int len); } 172 STD { int linux_sys_iopl(int level); } 173 STD { int linux_sys_ioperm(unsigned int lo, \ unsigned int hi, int val); } 174 UNIMPL create_module 175 UNIMPL init_module 176 UNIMPL delete_module 177 UNIMPL get_kernel_syms 178 UNIMPL query_module 179 UNIMPL quotactl 180 UNIMPL nfsservctl 181 UNIMPL getpmsg 182 UNIMPL putpmsg 183 UNIMPL afs_syscall 184 UNIMPL tuxcall 185 UNIMPL security 186 STD { pid_t linux_sys_gettid(void); } 187 UNIMPL readahead 188 STD { int linux_sys_setxattr(char *path, char *name, \ void *value, size_t size, int flags); } 189 STD { int linux_sys_lsetxattr(char *path, char *name, \ void *value, size_t size, int flags); } 190 STD { int linux_sys_fsetxattr(int fd, char *name, \ void *value, size_t size, int flags); } 191 STD { ssize_t linux_sys_getxattr(char *path, char *name, \ void *value, size_t size); } 192 STD { ssize_t linux_sys_lgetxattr(char *path, char *name, \ void *value, size_t size); } 193 STD { ssize_t linux_sys_fgetxattr(int fd, char *name, \ void *value, size_t size); } 194 STD { ssize_t linux_sys_listxattr(char *path, char *list, \ size_t size); } 195 STD { ssize_t linux_sys_llistxattr(char *path, char *list, \ size_t size); } 196 STD { ssize_t linux_sys_flistxattr(int fd, char *list, \ size_t size); } 197 STD { int linux_sys_removexattr(char *path, char *name); } 198 STD { int linux_sys_lremovexattr(char *path, char *name); } 199 STD { int linux_sys_fremovexattr(int fd, char *name); } 200 STD { int linux_sys_tkill(int tid, int sig); } 201 STD { int linux_sys_time(linux_time_t *t); } 202 STD { int linux_sys_futex(int *uaddr, int op, int val, \ const struct linux_timespec *timeout, int *uaddr2, \ int val3); } 203 STD { int linux_sys_sched_setaffinity(pid_t pid, \ unsigned int len, unsigned long *mask); } 204 STD { int linux_sys_sched_getaffinity(pid_t pid, \ unsigned int len, unsigned long *mask); } 205 UNIMPL set_thread_area 206 UNIMPL io_setup 207 UNIMPL io_destroy 208 UNIMPL io_getevents 209 UNIMPL io_submit 210 UNIMPL io_cancel 211 UNIMPL get_thread_area 212 UNIMPL lookup_dcookie 213 UNIMPL epoll_create 214 UNIMPL epoll_ctl_old 215 UNIMPL epoll_wait_old 216 UNIMPL remap_file_pages 217 STD { int linux_sys_getdents64(int fd, \ struct linux_dirent64 *dent, unsigned int count); } 218 STD { int linux_sys_set_tid_address(int *tid); } 219 UNIMPL restart_syscall 220 UNIMPL semtimedop 221 UNIMPL fadvise64 222 UNIMPL timer_create 223 UNIMPL timer_settime 224 UNIMPL timer_gettime 225 UNIMPL timer_getoverrun 226 UNIMPL timer_delete 227 STD { int linux_sys_clock_settime(clockid_t which, \ struct linux_timespec *tp); } 228 STD { int linux_sys_clock_gettime(clockid_t which, \ struct linux_timespec *tp); } 229 STD { int linux_sys_clock_getres(clockid_t which, \ struct linux_timespec *tp); } 230 STD { int linux_sys_clock_nanosleep(clockid_t which, \ int flags, struct linux_timespec *rqtp, \ struct linux_timespec *rmtp); } 231 STD { int linux_sys_exit_group(int error_code); } 232 UNIMPL epoll_wait 233 UNIMPL epoll_ctl 234 STD { int linux_sys_tgkill(int tgid, int tid, int sig); } 235 UNIMPL utimes 236 UNIMPL vserver 237 UNIMPL mbind 238 UNIMPL set_mempolicy 239 UNIMPL get_mempolicy 240 UNIMPL mq_open 241 UNIMPL mq_unlink 242 UNIMPL mq_timedsend 243 UNIMPL mq_timedreceive 244 UNIMPL mq_notify 245 UNIMPL mq_getsetattr 246 UNIMPL kexec_load 247 UNIMPL waitid 248 UNIMPL add_key 249 UNIMPL request_key 250 UNIMPL keyctl 251 UNIMPL ioprio_set 252 UNIMPL ioprio_get 253 UNIMPL inotify_init 254 UNIMPL inotify_add_watch 255 UNIMPL inotify_rm_watch 256 UNIMPL migrate_pages 257 UNIMPL openat 258 UNIMPL mkdirat 259 UNIMPL mknodat 260 UNIMPL fchownat 261 UNIMPL futimesat 262 UNIMPL newfstatat 263 UNIMPL unlinkat 264 UNIMPL renameat 265 UNIMPL linkat 266 UNIMPL symlinkat 267 UNIMPL readlinkat 268 UNIMPL fchmodat 269 UNIMPL faccessat 270 UNIMPL pselect6 271 UNIMPL ppoll 272 UNIMPL unshare 273 STD { int linux_sys_set_robust_list( \ struct linux_robust_list_head *head, size_t len); } 274 STD { int linux_sys_get_robust_list(int pid, \ struct linux_robust_list_head **head, \ size_t *len); } 275 UNIMPL splice 276 UNIMPL tee 277 UNIMPL sync_file_range 278 UNIMPL vmsplice 279 UNIMPL move_pages 280 UNIMPL utimensat 281 UNIMPL epoll_pwait 282 UNIMPL signalfd 283 UNIMPL timerfd_create 284 UNIMPL eventfd 285 UNIMPL fallocate 286 STD { int linux_sys_nosys(void); } @ 1.26.4.3 log @need opt_compat_netbsd.h @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.26.4.2 2009/01/04 02:21:08 christos Exp $ a38 1 #include "opt_compat_netbsd.h" @ 1.25 log @Fix nanosleep(2) on 64-bit archs. Do not call native nanosleep syscall, but rather a modified version the will take care of `struct timespec' conversions. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.24 2008/10/26 20:25:49 christos Exp $ d390 1 a390 1 const struct timespec *timeout, int *uaddr2, \ @ 1.24 log @catch up with i386 changes. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.23 2008/04/04 12:38:52 njoly Exp $ d128 3 a130 2 35 NOARGS { int sys_nanosleep(const struct timespec *rqtp, \ struct timespec *rmtp); } @ 1.24.2.1 log @Sync with HEAD. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.30 2009/01/17 22:28:52 njoly Exp $ a38 1 #include "opt_compat_netbsd.h" a40 1 a46 3 #include #include d62 3 a64 3 0 NOARGS { int|sys||read(int fd, char *buf, u_int nbyte); } 1 NOARGS { int|sys||write(int fd, char *buf, u_int nbyte); } 2 STD { int|linux_sys||open(const char *path, int flags, \ d66 2 a67 2 3 NOARGS { int|sys||close(int fd); } 4 STD { int|linux_sys||stat64(const char *path, \ d69 1 a69 1 5 STD { int|linux_sys||fstat64(int fd, \ d71 1 a71 1 6 STD { int|linux_sys||lstat64(const char *path, \ d73 1 a73 1 7 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \ d75 1 a75 1 8 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \ d77 1 a77 1 9 NOARGS { linux_off_t|linux_sys||mmap(unsigned long addr, \ d80 1 a80 1 10 STD { int|linux_sys||mprotect(const void *start, \ d82 3 a84 3 11 NOARGS { int|sys||munmap(void *addr, int len); } 12 STD { int|linux_sys||brk(char *nsize); } 13 STD { int|linux_sys||rt_sigaction(int signum, \ d88 1 a88 1 14 STD { int|linux_sys||rt_sigprocmask(int how, \ d92 2 a93 2 15 NOARGS { int|linux_sys||rt_sigreturn(void); } 16 STD { int|linux_sys||ioctl(int fd, u_long com, \ d95 1 a95 1 17 STD { int|linux_sys||pread(int fd, char *buf, \ d97 1 a97 1 18 STD { int|linux_sys||pwrite(int fd, char *buf, \ d99 1 a99 1 19 NOARGS { int|sys||readv(int fd, struct iovec *iovp, \ d101 1 a101 1 20 NOARGS { int|sys||writev(int fd, struct iovec *iovp, \ d103 3 a105 3 21 NOARGS { int|sys||access(const char *path, int flags); } 22 STD { int|linux_sys||pipe(int *pfds); } 23 STD { int|linux_sys||select(int nfds, fd_set *readfds, \ d107 3 a109 3 struct timeval50 *timeout); } 24 STD { int|linux_sys||sched_yield(void); } 25 STD { void *|linux_sys||mremap(void *old_address, \ d111 3 a113 3 26 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); } 27 NOARGS { int|sys||mincore(void *addr, size_t len, char *vec); } 28 NOARGS { int|sys||madvise(void *addr, size_t len, int behav); } d115 1 a115 1 29 NOARGS { int|linux_sys||shmget(key_t key, size_t size, \ d117 2 a118 2 30 NOARGS { int|sys||shmat(int shmid, void *shmaddr, int shmflg); } 31 NOARGS { int|linux_sys||shmctl(int shmid, int cmd, \ d125 11 a135 13 32 NOARGS { int|sys||dup(u_int fd); } 33 NOARGS { int|sys||dup2(u_int from, u_int to); } 34 STD { int|linux_sys||pause(void); } 35 STD { int|linux_sys||nanosleep( \ const struct linux_timespec *rqtp, \ struct linux_timespec *rmtp); } 36 NOARGS { int|compat_50_sys||getitimer(u_int which, \ struct itimerval50 *itv); } 37 STD { int|linux_sys||alarm(unsigned int secs); } 38 NOARGS { int|compat_50_sys||setitimer(u_int which, \ struct itimerval50 *itv, \ struct itimerval50 *oitv); } 39 STD { pid_t|linux_sys||getpid(void); } d137 1 a137 1 41 STD { int|linux_sys||socket(int domain, \ d139 1 a139 1 42 STD { int|linux_sys||connect(int s, \ d142 1 a142 1 43 STD { int|linux_sys||accept(int s, struct osockaddr *name, \ d144 1 a144 1 44 STD { ssize_t|linux_sys||sendto(int s, void *msg, int len, \ d146 1 a146 1 45 STD { ssize_t|linux_sys||recvfrom(int s, void *buf, \ d149 1 a149 1 46 STD { int|linux_sys||sendmsg(int s, \ d151 1 a151 1 47 STD { ssize_t|linux_sys||recvmsg(int s, \ d153 2 a154 2 48 NOARGS { int|sys||shutdown(int s, int how); } 49 STD { int|linux_sys||bind(int s, \ d157 2 a158 2 50 NOARGS { int|sys||listen(int s, int backlog); } 51 STD { int|linux_sys||getsockname(int fdec, void *asa, \ d160 1 a160 1 52 STD { int|linux_sys||getpeername(int fdes, \ d162 1 a162 1 53 STD { int|linux_sys||socketpair(int domain, int type, \ d164 1 a164 1 54 STD { int|linux_sys||setsockopt(int s, int level, \ d166 1 a166 1 55 STD { int|linux_sys||getsockopt(int s, int level, \ d168 1 a168 1 56 STD { int|linux_sys||clone(int flags, void *stack, \ d170 3 a172 3 57 NOARGS { int|sys||fork(void); } 58 NOARGS { int|sys|14|vfork(void); } 59 NOARGS { int|sys||execve(const char *path, char **argp, \ d174 5 a178 5 60 NOARGS { int|sys||exit(int rval); } 61 STD { int|linux_sys||wait4(int pid, int *status, \ int options, struct rusage50 *rusage); } 62 STD { int|linux_sys||kill(int pid, int signum); } 63 STD { int|linux_sys||uname(struct linux_utsname *up); } d180 2 a181 2 64 NOARGS { int|sys||semget(key_t key, int nsems, int semflg); } 65 NOARGS { int|sys||semop(int semid, struct sembuf *sops, \ d183 1 a183 1 66 STD { int|linux_sys||semctl(int semid, int semnum, \ d191 1 a191 1 67 NOARGS { int|sys||shmdt(const void *shmaddr); } d196 2 a197 2 68 NOARGS { int|sys||msgget(key_t key, int msgflg); } 69 NOARGS { int|sys||msgsnd(int msqid, void *msgp, size_t msgsz, \ d199 1 a199 1 70 NOARGS { ssize_t|sys||msgrcv(int msqid, void *msgp, \ d201 1 a201 1 71 NOARGS { int|linux_sys||msgctl(int msqid, int cmd, \ d209 5 a213 5 72 STD { int|linux_sys||fcntl(int fd, int cmd, void *arg); } 73 NOARGS { int|sys||flock(int fd, int how); } 74 NOARGS { int|sys||fsync(int fd); } 75 STD { int|linux_sys||fdatasync(int fd); } 76 STD { int|linux_sys||truncate64(const char *path, \ d215 1 a215 1 77 STD { int|linux_sys||ftruncate64(unsigned int fd, \ d217 1 a217 1 78 STD { int|linux_sys||getdents(int fd, \ d219 4 a222 4 79 NOARGS { int|sys||__getcwd(char *bufp, size_t length); } 80 NOARGS { int|sys||chdir(const char *path); } 81 NOARGS { int|sys||fchdir(int fd); } 82 NOARGS { int|sys||__posix_rename(const char *from, \ d224 7 a230 7 83 NOARGS { int|sys||mkdir(const char *path, int mode); } 84 NOARGS { int|sys||rmdir(const char *path); } 85 STD { int|linux_sys||creat(const char *path, int mode); } 86 NOARGS { int|sys||link(const char *path, const char *link); } 87 STD { int|linux_sys||unlink(const char *path); } 88 NOARGS { int|sys||symlink(const char *path, const char *to); } 89 NOARGS { int|sys||readlink(const char *name, char *buf, \ d232 3 a234 3 90 NOARGS { int|sys||chmod(const char *path, int mode); } 91 NOARGS { int|sys||fchmod(int fd, int mode); } 92 NOARGS { int|sys||__posix_chown(const char *path, uid_t uid, \ d236 1 a236 1 93 NOARGS { int|sys||__posix_fchown(int fd, uid_t uid, \ d238 1 a238 1 94 NOARGS { int|sys||__posix_lchown(const char *path, uid_t uid, \ d240 2 a241 2 95 NOARGS { int|sys||umask(int newmask); } 96 STD { int|linux_sys||gettimeofday(struct timeval50 *tp, \ d243 1 a243 1 97 STD { int|linux_sys||getrlimit(int which, \ d245 4 a248 5 98 NOARGS { int|compat_50_sys||getrusage(int who, \ struct rusage50 *rusage); } 99 STD { int|linux_sys||sysinfo(struct linux_sysinfo *arg); } 100 STD { int|linux_sys||times(struct times *tms); } 101 STD { int|linux_sys||ptrace(long request, long pid, \ d250 1 a250 1 102 NOARGS { uid_t|sys||getuid(void); } d252 14 a265 14 104 NOARGS { gid_t|sys||getgid(void); } 105 NOARGS { void|sys||setuid(uid_t uid); } 106 NOARGS { void|sys||setgid(gid_t gid); } 107 NOARGS { uid_t|sys||geteuid(void); } 108 NOARGS { gid_t|sys||getegid(void); } 109 NOARGS { int|sys||setpgid(int pid, int pgid); } 110 STD { pid_t|linux_sys||getppid(void); } 111 NOARGS { int|sys||getpgrp(void); } 112 NOARGS { int|sys||setsid(void); } 113 NOARGS { int|sys||setreuid(uid_t ruid, uid_t euid); } 114 NOARGS { int|sys||setregid(gid_t rgid, gid_t egid); } 115 NOARGS { int|sys||getgroups(u_int gidsetsize, gid_t *gidset); } 116 NOARGS { int|sys||setgroups(u_int gidsetsize, gid_t *gidset); } 117 STD { int|linux_sys||setresuid(uid_t ruid, uid_t euid, \ d267 1 a267 1 118 STD { int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \ d269 1 a269 1 119 STD { int|linux_sys||setresgid(gid_t rgid, gid_t egid, \ d271 1 a271 1 120 STD { int|linux_sys||getresgid(gid_t *rgid, gid_t *egid, \ d273 4 a276 4 121 NOARGS { pid_t|sys||getpgid(pid_t pid); } 122 STD { int|linux_sys||setfsuid(uid_t uid); } 123 STD { int|linux_sys||setfsgid(gid_t gid); } 124 NOARGS { pid_t|sys||getsid(pid_t pid); } d279 1 a279 1 127 STD { int|linux_sys||rt_sigpending( \ d283 1 a283 1 129 STD { int|linux_sys||rt_queueinfo(int pid, int signum, \ d285 1 a285 1 130 STD { int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \ d287 1 a287 1 131 STD { int|linux_sys||sigaltstack( \ d290 1 a290 1 132 STD { int|linux_sys||utime(const char *path, \ d292 1 a292 1 133 STD { int|linux_sys||mknod(const char *path, int mode, \ d295 1 a295 1 134 STD { int|linux_sys||uselib(const char *path); } d299 1 a299 1 135 STD { int|linux_sys||personality(int per); } d301 1 a301 1 137 STD { int|linux_sys||statfs(const char *path, \ d303 1 a303 1 138 STD { int|linux_sys||fstatfs(int fd, \ d306 3 a308 3 140 STD { int|linux_sys||getpriority(int which, int who); } 141 NOARGS { int|sys||setpriority(int which, int who, int prio); } 142 STD { int|linux_sys||sched_setparam(pid_t pid, \ d310 1 a310 1 143 STD { int|linux_sys||sched_getparam(pid_t pid, \ d312 1 a312 1 144 STD { int|linux_sys||sched_setscheduler(pid_t pid, \ d314 3 a316 3 145 STD { int|linux_sys||sched_getscheduler(pid_t pid); } 146 STD { int|linux_sys||sched_get_priority_max(int policy); } 147 STD { int|linux_sys||sched_get_priority_min(int policy); } d318 4 a321 4 149 NOARGS { int|sys||mlock(void *addr, size_t len); } 150 NOARGS { int|sys||munlock(void *addr, size_t len); } 151 NOARGS { int|sys||mlockall(int flags); } 152 NOARGS { int|sys||munlockall(void); } d323 1 a323 1 154 STD { int|linux_sys||modify_ldt(int func, void *ptr, \ d326 1 a326 1 156 STD { int|linux_sys||__sysctl(struct linux___sysctl *lsp); } d328 1 a328 1 158 STD { int|linux_sys||arch_prctl(int code, \ d331 1 a331 1 160 STD { int|linux_sys||setrlimit(u_int which, \ d333 4 a336 4 161 NOARGS { int|sys||chroot(char *path); } 162 NOARGS { int|sys||sync(void); } 163 NOARGS { int|sys||acct(char *path); } 164 STD { int|linux_sys||settimeofday(struct timeval50 *tp, \ d340 3 a342 3 167 STD { int|linux_sys||swapon(char *name); } 168 STD { int|linux_sys||swapoff(const char *path); } 169 STD { int|linux_sys||reboot(int magic1, int magic2, \ d344 1 a344 1 170 NOARGS { int|compat_43_sys||sethostname(char *hostname, \ d346 1 a346 1 171 STD { int|linux_sys||setdomainname(char *domainname, \ d348 2 a349 2 172 STD { int|linux_sys||iopl(int level); } 173 STD { int|linux_sys||ioperm(unsigned int lo, \ d363 1 a363 1 186 STD { pid_t|linux_sys||gettid(void); } d365 1 a365 1 188 STD { int|linux_sys||setxattr(char *path, char *name, \ d367 1 a367 1 189 STD { int|linux_sys||lsetxattr(char *path, char *name, \ d369 1 a369 1 190 STD { int|linux_sys||fsetxattr(int fd, char *name, \ d371 1 a371 1 191 STD { ssize_t|linux_sys||getxattr(char *path, char *name, \ d373 1 a373 1 192 STD { ssize_t|linux_sys||lgetxattr(char *path, char *name, \ d375 1 a375 1 193 STD { ssize_t|linux_sys||fgetxattr(int fd, char *name, \ d377 1 a377 1 194 STD { ssize_t|linux_sys||listxattr(char *path, char *list, \ d379 1 a379 1 195 STD { ssize_t|linux_sys||llistxattr(char *path, char *list, \ d381 1 a381 1 196 STD { ssize_t|linux_sys||flistxattr(int fd, char *list, \ d383 7 a389 7 197 STD { int|linux_sys||removexattr(char *path, char *name); } 198 STD { int|linux_sys||lremovexattr(char *path, char *name); } 199 STD { int|linux_sys||fremovexattr(int fd, char *name); } 200 STD { int|linux_sys||tkill(int tid, int sig); } 201 STD { int|linux_sys||time(linux_time_t *t); } 202 STD { int|linux_sys||futex(int *uaddr, int op, int val, \ const struct linux_timespec *timeout, int *uaddr2, \ d391 1 a391 1 203 STD { int|linux_sys||sched_setaffinity(pid_t pid, \ d393 1 a393 1 204 STD { int|linux_sys||sched_getaffinity(pid_t pid, \ d407 1 a407 1 217 STD { int|linux_sys||getdents64(int fd, \ d409 1 a409 1 218 STD { int|linux_sys||set_tid_address(int *tid); } d418 1 a418 1 227 STD { int|linux_sys||clock_settime(clockid_t which, \ d420 1 a420 1 228 STD { int|linux_sys||clock_gettime(clockid_t which, \ d422 1 a422 1 229 STD { int|linux_sys||clock_getres(clockid_t which, \ d424 1 a424 1 230 STD { int|linux_sys||clock_nanosleep(clockid_t which, \ d427 1 a427 1 231 STD { int|linux_sys||exit_group(int error_code); } d430 1 a430 1 234 STD { int|linux_sys||tgkill(int tgid, int tid, int sig); } d469 1 a469 1 273 STD { int|linux_sys||set_robust_list( \ d471 1 a471 1 274 STD { int|linux_sys||get_robust_list(int pid, \ d485 1 a485 1 286 STD { int|linux_sys||nosys(void); } @ 1.24.4.1 log @Pull up following revision(s) (requested by njoly in ticket #81): sys/compat/linux/arch/mips/syscalls.master: revision 1.30 sys/compat/linux/arch/m68k/syscalls.master: revision 1.63 sys/compat/linux32/arch/amd64/syscalls.master: revision 1.39 sys/compat/linux/arch/alpha/syscalls.master: revision 1.63 sys/compat/linux/arch/powerpc/syscalls.master: revision 1.38 sys/compat/linux32/common/linux32_time.c: revision 1.22 sys/compat/linux/arch/amd64/syscalls.master: revision 1.25 sys/compat/linux/arch/i386/syscalls.master: revision 1.94 sys/compat/linux/arch/arm/syscalls.master: revision 1.36 sys/compat/linux/common/linux_time.c: revision 1.26 Fix nanosleep(2) on 64-bit archs. Do not call native nanosleep syscall, but rather a modified version the will take care of `struct timespec' conversions. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.24 2008/10/26 20:25:49 christos Exp $ d128 2 a129 3 35 STD { int linux_sys_nanosleep( \ const struct linux_timespec *rqtp, \ struct linux_timespec *rmtp); } @ 1.23 log @Cleanup. Kill linux_sys_msync and use sys___msync13 instead. No functional changes expected. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.22 2007/12/24 14:17:17 njoly Exp $ d433 53 a485 2 ; Not really syscall 237, but we need it to be defined somewhere 237 STD { int linux_sys_nosys(void); } @ 1.23.4.1 log @sync with head. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.23 2008/04/04 12:38:52 njoly Exp $ a38 1 #include "opt_compat_netbsd.h" a40 1 a46 3 #include #include d62 3 a64 3 0 NOARGS { int|sys||read(int fd, char *buf, u_int nbyte); } 1 NOARGS { int|sys||write(int fd, char *buf, u_int nbyte); } 2 STD { int|linux_sys||open(const char *path, int flags, \ d66 2 a67 2 3 NOARGS { int|sys||close(int fd); } 4 STD { int|linux_sys||stat64(const char *path, \ d69 1 a69 1 5 STD { int|linux_sys||fstat64(int fd, \ d71 1 a71 1 6 STD { int|linux_sys||lstat64(const char *path, \ d73 1 a73 1 7 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \ d75 1 a75 1 8 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \ d77 1 a77 1 9 NOARGS { linux_off_t|linux_sys||mmap(unsigned long addr, \ d80 1 a80 1 10 STD { int|linux_sys||mprotect(const void *start, \ d82 3 a84 3 11 NOARGS { int|sys||munmap(void *addr, int len); } 12 STD { int|linux_sys||brk(char *nsize); } 13 STD { int|linux_sys||rt_sigaction(int signum, \ d88 1 a88 1 14 STD { int|linux_sys||rt_sigprocmask(int how, \ d92 2 a93 2 15 NOARGS { int|linux_sys||rt_sigreturn(void); } 16 STD { int|linux_sys||ioctl(int fd, u_long com, \ d95 1 a95 1 17 STD { int|linux_sys||pread(int fd, char *buf, \ d97 1 a97 1 18 STD { int|linux_sys||pwrite(int fd, char *buf, \ d99 1 a99 1 19 NOARGS { int|sys||readv(int fd, struct iovec *iovp, \ d101 1 a101 1 20 NOARGS { int|sys||writev(int fd, struct iovec *iovp, \ d103 3 a105 3 21 NOARGS { int|sys||access(const char *path, int flags); } 22 STD { int|linux_sys||pipe(int *pfds); } 23 STD { int|linux_sys||select(int nfds, fd_set *readfds, \ d107 3 a109 3 struct timeval50 *timeout); } 24 STD { int|linux_sys||sched_yield(void); } 25 STD { void *|linux_sys||mremap(void *old_address, \ d111 3 a113 3 26 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); } 27 NOARGS { int|sys||mincore(void *addr, size_t len, char *vec); } 28 NOARGS { int|sys||madvise(void *addr, size_t len, int behav); } d115 1 a115 1 29 NOARGS { int|linux_sys||shmget(key_t key, size_t size, \ d117 2 a118 2 30 NOARGS { int|sys||shmat(int shmid, void *shmaddr, int shmflg); } 31 NOARGS { int|linux_sys||shmctl(int shmid, int cmd, \ d125 11 a135 13 32 NOARGS { int|sys||dup(u_int fd); } 33 NOARGS { int|sys||dup2(u_int from, u_int to); } 34 STD { int|linux_sys||pause(void); } 35 STD { int|linux_sys||nanosleep( \ const struct linux_timespec *rqtp, \ struct linux_timespec *rmtp); } 36 NOARGS { int|compat_50_sys||getitimer(u_int which, \ struct itimerval50 *itv); } 37 STD { int|linux_sys||alarm(unsigned int secs); } 38 NOARGS { int|compat_50_sys||setitimer(u_int which, \ struct itimerval50 *itv, \ struct itimerval50 *oitv); } 39 STD { pid_t|linux_sys||getpid(void); } d137 1 a137 1 41 STD { int|linux_sys||socket(int domain, \ d139 1 a139 1 42 STD { int|linux_sys||connect(int s, \ d142 1 a142 1 43 STD { int|linux_sys||accept(int s, struct osockaddr *name, \ d144 1 a144 1 44 STD { ssize_t|linux_sys||sendto(int s, void *msg, int len, \ d146 1 a146 1 45 STD { ssize_t|linux_sys||recvfrom(int s, void *buf, \ d149 1 a149 1 46 STD { int|linux_sys||sendmsg(int s, \ d151 1 a151 1 47 STD { ssize_t|linux_sys||recvmsg(int s, \ d153 2 a154 2 48 NOARGS { int|sys||shutdown(int s, int how); } 49 STD { int|linux_sys||bind(int s, \ d157 2 a158 2 50 NOARGS { int|sys||listen(int s, int backlog); } 51 STD { int|linux_sys||getsockname(int fdec, void *asa, \ d160 1 a160 1 52 STD { int|linux_sys||getpeername(int fdes, \ d162 1 a162 1 53 STD { int|linux_sys||socketpair(int domain, int type, \ d164 1 a164 1 54 STD { int|linux_sys||setsockopt(int s, int level, \ d166 1 a166 1 55 STD { int|linux_sys||getsockopt(int s, int level, \ d168 1 a168 1 56 STD { int|linux_sys||clone(int flags, void *stack, \ d170 3 a172 3 57 NOARGS { int|sys||fork(void); } 58 NOARGS { int|sys|14|vfork(void); } 59 NOARGS { int|sys||execve(const char *path, char **argp, \ d174 5 a178 5 60 NOARGS { int|sys||exit(int rval); } 61 STD { int|linux_sys||wait4(int pid, int *status, \ int options, struct rusage50 *rusage); } 62 STD { int|linux_sys||kill(int pid, int signum); } 63 STD { int|linux_sys||uname(struct linux_utsname *up); } d180 2 a181 2 64 NOARGS { int|sys||semget(key_t key, int nsems, int semflg); } 65 NOARGS { int|sys||semop(int semid, struct sembuf *sops, \ d183 1 a183 1 66 STD { int|linux_sys||semctl(int semid, int semnum, \ d191 1 a191 1 67 NOARGS { int|sys||shmdt(const void *shmaddr); } d196 2 a197 2 68 NOARGS { int|sys||msgget(key_t key, int msgflg); } 69 NOARGS { int|sys||msgsnd(int msqid, void *msgp, size_t msgsz, \ d199 1 a199 1 70 NOARGS { ssize_t|sys||msgrcv(int msqid, void *msgp, \ d201 1 a201 1 71 NOARGS { int|linux_sys||msgctl(int msqid, int cmd, \ d209 5 a213 5 72 STD { int|linux_sys||fcntl(int fd, int cmd, void *arg); } 73 NOARGS { int|sys||flock(int fd, int how); } 74 NOARGS { int|sys||fsync(int fd); } 75 STD { int|linux_sys||fdatasync(int fd); } 76 STD { int|linux_sys||truncate64(const char *path, \ d215 1 a215 1 77 STD { int|linux_sys||ftruncate64(unsigned int fd, \ d217 1 a217 1 78 STD { int|linux_sys||getdents(int fd, \ d219 4 a222 4 79 NOARGS { int|sys||__getcwd(char *bufp, size_t length); } 80 NOARGS { int|sys||chdir(const char *path); } 81 NOARGS { int|sys||fchdir(int fd); } 82 NOARGS { int|sys||__posix_rename(const char *from, \ d224 7 a230 7 83 NOARGS { int|sys||mkdir(const char *path, int mode); } 84 NOARGS { int|sys||rmdir(const char *path); } 85 STD { int|linux_sys||creat(const char *path, int mode); } 86 NOARGS { int|sys||link(const char *path, const char *link); } 87 STD { int|linux_sys||unlink(const char *path); } 88 NOARGS { int|sys||symlink(const char *path, const char *to); } 89 NOARGS { int|sys||readlink(const char *name, char *buf, \ d232 3 a234 3 90 NOARGS { int|sys||chmod(const char *path, int mode); } 91 NOARGS { int|sys||fchmod(int fd, int mode); } 92 NOARGS { int|sys||__posix_chown(const char *path, uid_t uid, \ d236 1 a236 1 93 NOARGS { int|sys||__posix_fchown(int fd, uid_t uid, \ d238 1 a238 1 94 NOARGS { int|sys||__posix_lchown(const char *path, uid_t uid, \ d240 2 a241 2 95 NOARGS { int|sys||umask(int newmask); } 96 STD { int|linux_sys||gettimeofday(struct timeval50 *tp, \ d243 1 a243 1 97 STD { int|linux_sys||getrlimit(int which, \ d245 4 a248 5 98 NOARGS { int|compat_50_sys||getrusage(int who, \ struct rusage50 *rusage); } 99 STD { int|linux_sys||sysinfo(struct linux_sysinfo *arg); } 100 STD { int|linux_sys||times(struct times *tms); } 101 STD { int|linux_sys||ptrace(long request, long pid, \ d250 1 a250 1 102 NOARGS { uid_t|sys||getuid(void); } d252 14 a265 14 104 NOARGS { gid_t|sys||getgid(void); } 105 NOARGS { void|sys||setuid(uid_t uid); } 106 NOARGS { void|sys||setgid(gid_t gid); } 107 NOARGS { uid_t|sys||geteuid(void); } 108 NOARGS { gid_t|sys||getegid(void); } 109 NOARGS { int|sys||setpgid(int pid, int pgid); } 110 STD { pid_t|linux_sys||getppid(void); } 111 NOARGS { int|sys||getpgrp(void); } 112 NOARGS { int|sys||setsid(void); } 113 NOARGS { int|sys||setreuid(uid_t ruid, uid_t euid); } 114 NOARGS { int|sys||setregid(gid_t rgid, gid_t egid); } 115 NOARGS { int|sys||getgroups(u_int gidsetsize, gid_t *gidset); } 116 NOARGS { int|sys||setgroups(u_int gidsetsize, gid_t *gidset); } 117 STD { int|linux_sys||setresuid(uid_t ruid, uid_t euid, \ d267 1 a267 1 118 STD { int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \ d269 1 a269 1 119 STD { int|linux_sys||setresgid(gid_t rgid, gid_t egid, \ d271 1 a271 1 120 STD { int|linux_sys||getresgid(gid_t *rgid, gid_t *egid, \ d273 4 a276 4 121 NOARGS { pid_t|sys||getpgid(pid_t pid); } 122 STD { int|linux_sys||setfsuid(uid_t uid); } 123 STD { int|linux_sys||setfsgid(gid_t gid); } 124 NOARGS { pid_t|sys||getsid(pid_t pid); } d279 1 a279 1 127 STD { int|linux_sys||rt_sigpending( \ d283 1 a283 1 129 STD { int|linux_sys||rt_queueinfo(int pid, int signum, \ d285 1 a285 1 130 STD { int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \ d287 1 a287 1 131 STD { int|linux_sys||sigaltstack( \ d290 1 a290 1 132 STD { int|linux_sys||utime(const char *path, \ d292 1 a292 1 133 STD { int|linux_sys||mknod(const char *path, int mode, \ d295 1 a295 1 134 STD { int|linux_sys||uselib(const char *path); } d299 1 a299 1 135 STD { int|linux_sys||personality(int per); } d301 1 a301 1 137 STD { int|linux_sys||statfs(const char *path, \ d303 1 a303 1 138 STD { int|linux_sys||fstatfs(int fd, \ d306 3 a308 3 140 STD { int|linux_sys||getpriority(int which, int who); } 141 NOARGS { int|sys||setpriority(int which, int who, int prio); } 142 STD { int|linux_sys||sched_setparam(pid_t pid, \ d310 1 a310 1 143 STD { int|linux_sys||sched_getparam(pid_t pid, \ d312 1 a312 1 144 STD { int|linux_sys||sched_setscheduler(pid_t pid, \ d314 3 a316 3 145 STD { int|linux_sys||sched_getscheduler(pid_t pid); } 146 STD { int|linux_sys||sched_get_priority_max(int policy); } 147 STD { int|linux_sys||sched_get_priority_min(int policy); } d318 4 a321 4 149 NOARGS { int|sys||mlock(void *addr, size_t len); } 150 NOARGS { int|sys||munlock(void *addr, size_t len); } 151 NOARGS { int|sys||mlockall(int flags); } 152 NOARGS { int|sys||munlockall(void); } d323 1 a323 1 154 STD { int|linux_sys||modify_ldt(int func, void *ptr, \ d326 1 a326 1 156 STD { int|linux_sys||__sysctl(struct linux___sysctl *lsp); } d328 1 a328 1 158 STD { int|linux_sys||arch_prctl(int code, \ d331 1 a331 1 160 STD { int|linux_sys||setrlimit(u_int which, \ d333 4 a336 4 161 NOARGS { int|sys||chroot(char *path); } 162 NOARGS { int|sys||sync(void); } 163 NOARGS { int|sys||acct(char *path); } 164 STD { int|linux_sys||settimeofday(struct timeval50 *tp, \ d340 3 a342 3 167 STD { int|linux_sys||swapon(char *name); } 168 STD { int|linux_sys||swapoff(const char *path); } 169 STD { int|linux_sys||reboot(int magic1, int magic2, \ d344 1 a344 1 170 NOARGS { int|compat_43_sys||sethostname(char *hostname, \ d346 1 a346 1 171 STD { int|linux_sys||setdomainname(char *domainname, \ d348 2 a349 2 172 STD { int|linux_sys||iopl(int level); } 173 STD { int|linux_sys||ioperm(unsigned int lo, \ d363 1 a363 1 186 STD { pid_t|linux_sys||gettid(void); } d365 1 a365 1 188 STD { int|linux_sys||setxattr(char *path, char *name, \ d367 1 a367 1 189 STD { int|linux_sys||lsetxattr(char *path, char *name, \ d369 1 a369 1 190 STD { int|linux_sys||fsetxattr(int fd, char *name, \ d371 1 a371 1 191 STD { ssize_t|linux_sys||getxattr(char *path, char *name, \ d373 1 a373 1 192 STD { ssize_t|linux_sys||lgetxattr(char *path, char *name, \ d375 1 a375 1 193 STD { ssize_t|linux_sys||fgetxattr(int fd, char *name, \ d377 1 a377 1 194 STD { ssize_t|linux_sys||listxattr(char *path, char *list, \ d379 1 a379 1 195 STD { ssize_t|linux_sys||llistxattr(char *path, char *list, \ d381 1 a381 1 196 STD { ssize_t|linux_sys||flistxattr(int fd, char *list, \ d383 7 a389 7 197 STD { int|linux_sys||removexattr(char *path, char *name); } 198 STD { int|linux_sys||lremovexattr(char *path, char *name); } 199 STD { int|linux_sys||fremovexattr(int fd, char *name); } 200 STD { int|linux_sys||tkill(int tid, int sig); } 201 STD { int|linux_sys||time(linux_time_t *t); } 202 STD { int|linux_sys||futex(int *uaddr, int op, int val, \ const struct linux_timespec *timeout, int *uaddr2, \ d391 1 a391 1 203 STD { int|linux_sys||sched_setaffinity(pid_t pid, \ d393 1 a393 1 204 STD { int|linux_sys||sched_getaffinity(pid_t pid, \ d407 1 a407 1 217 STD { int|linux_sys||getdents64(int fd, \ d409 1 a409 1 218 STD { int|linux_sys||set_tid_address(int *tid); } d418 1 a418 1 227 STD { int|linux_sys||clock_settime(clockid_t which, \ d420 1 a420 1 228 STD { int|linux_sys||clock_gettime(clockid_t which, \ d422 1 a422 1 229 STD { int|linux_sys||clock_getres(clockid_t which, \ d424 1 a424 1 230 STD { int|linux_sys||clock_nanosleep(clockid_t which, \ d427 1 a427 1 231 STD { int|linux_sys||exit_group(int error_code); } d430 1 a430 1 234 STD { int|linux_sys||tgkill(int tgid, int tid, int sig); } d433 2 a434 53 237 UNIMPL mbind 238 UNIMPL set_mempolicy 239 UNIMPL get_mempolicy 240 UNIMPL mq_open 241 UNIMPL mq_unlink 242 UNIMPL mq_timedsend 243 UNIMPL mq_timedreceive 244 UNIMPL mq_notify 245 UNIMPL mq_getsetattr 246 UNIMPL kexec_load 247 UNIMPL waitid 248 UNIMPL add_key 249 UNIMPL request_key 250 UNIMPL keyctl 251 UNIMPL ioprio_set 252 UNIMPL ioprio_get 253 UNIMPL inotify_init 254 UNIMPL inotify_add_watch 255 UNIMPL inotify_rm_watch 256 UNIMPL migrate_pages 257 UNIMPL openat 258 UNIMPL mkdirat 259 UNIMPL mknodat 260 UNIMPL fchownat 261 UNIMPL futimesat 262 UNIMPL newfstatat 263 UNIMPL unlinkat 264 UNIMPL renameat 265 UNIMPL linkat 266 UNIMPL symlinkat 267 UNIMPL readlinkat 268 UNIMPL fchmodat 269 UNIMPL faccessat 270 UNIMPL pselect6 271 UNIMPL ppoll 272 UNIMPL unshare 273 STD { int|linux_sys||set_robust_list( \ struct linux_robust_list_head *head, size_t len); } 274 STD { int|linux_sys||get_robust_list(int pid, \ struct linux_robust_list_head **head, \ size_t *len); } 275 UNIMPL splice 276 UNIMPL tee 277 UNIMPL sync_file_range 278 UNIMPL vmsplice 279 UNIMPL move_pages 280 UNIMPL utimensat 281 UNIMPL epoll_pwait 282 UNIMPL signalfd 283 UNIMPL timerfd_create 284 UNIMPL eventfd 285 UNIMPL fallocate 286 STD { int|linux_sys||nosys(void); } @ 1.23.4.2 log @sync with head @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.23.4.1 2009/05/04 08:12:20 yamt Exp $ d157 1 a157 1 const struct linux_msghdr *msg, int flags); } d159 1 a159 1 struct linux_msghdr *msg, int flags); } d292 1 a292 1 linux_siginfo_t *uinfo); } @ 1.23.4.3 log @sync with head @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.23.4.2 2009/06/20 07:20:14 yamt Exp $ d73 1 a73 1 struct linux_stat64 *sp); } d75 1 a75 1 struct linux_stat64 *sp); } d77 1 a77 1 struct linux_stat64 *sp); } d307 1 a307 1 135 STD { int|linux_sys||personality(unsigned long per); } @ 1.23.4.4 log @sync with head. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.23.4.3 2010/03/11 15:03:14 yamt Exp $ d142 1 a142 1 39 STD { pid_t|sys||getpid(void); } d176 1 a176 1 void *parent_tidptr, void *child_tidptr, void *tls); } d181 1 a181 1 60 STD { int|linux_sys||exit(int rval); } d266 1 a266 1 110 STD { pid_t|sys||getppid(void); } d493 1 a493 17 286 UNIMPL timerfd_settime 287 UNIMPL timerfd_gettime 288 UNIMPL accept4 289 UNIMPL signalfd4 290 UNIMPL eventfd2 291 UNIMPL epoll_create1 292 UNIMPL dup3 293 UNIMPL pipe2 294 UNIMPL inotify_init1 295 UNIMPL preadv 296 UNIMPL pwritev 297 UNIMPL rt_tgsigqueueinfo 298 UNIMPL perf_counter_open 299 UNIMPL recvmmsg ; we want a "nosys" syscall, we'll just add an extra entry for it. 300 STD { int|linux_sys||nosys(void); } @ 1.23.10.1 log @Update haad-dm branch to haad-dm-base2. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.26 2008/11/19 13:09:19 njoly Exp $ d128 2 a129 3 35 STD { int linux_sys_nanosleep( \ const struct linux_timespec *rqtp, \ struct linux_timespec *rmtp); } d389 1 a389 1 const struct linux_timespec *timeout, int *uaddr2, \ d433 2 a434 53 237 UNIMPL mbind 238 UNIMPL set_mempolicy 239 UNIMPL get_mempolicy 240 UNIMPL mq_open 241 UNIMPL mq_unlink 242 UNIMPL mq_timedsend 243 UNIMPL mq_timedreceive 244 UNIMPL mq_notify 245 UNIMPL mq_getsetattr 246 UNIMPL kexec_load 247 UNIMPL waitid 248 UNIMPL add_key 249 UNIMPL request_key 250 UNIMPL keyctl 251 UNIMPL ioprio_set 252 UNIMPL ioprio_get 253 UNIMPL inotify_init 254 UNIMPL inotify_add_watch 255 UNIMPL inotify_rm_watch 256 UNIMPL migrate_pages 257 UNIMPL openat 258 UNIMPL mkdirat 259 UNIMPL mknodat 260 UNIMPL fchownat 261 UNIMPL futimesat 262 UNIMPL newfstatat 263 UNIMPL unlinkat 264 UNIMPL renameat 265 UNIMPL linkat 266 UNIMPL symlinkat 267 UNIMPL readlinkat 268 UNIMPL fchmodat 269 UNIMPL faccessat 270 UNIMPL pselect6 271 UNIMPL ppoll 272 UNIMPL unshare 273 STD { int linux_sys_set_robust_list( \ struct linux_robust_list_head *head, size_t len); } 274 STD { int linux_sys_get_robust_list(int pid, \ struct linux_robust_list_head **head, \ size_t *len); } 275 UNIMPL splice 276 UNIMPL tee 277 UNIMPL sync_file_range 278 UNIMPL vmsplice 279 UNIMPL move_pages 280 UNIMPL utimensat 281 UNIMPL epoll_pwait 282 UNIMPL signalfd 283 UNIMPL timerfd_create 284 UNIMPL eventfd 285 UNIMPL fallocate 286 STD { int linux_sys_nosys(void); } @ 1.23.6.1 log @Initial checkin of re-adding SA. Everything except kern_sa.c compiles in GENERIC for i386. This is still a work-in-progress, but this checkin covers most of the mechanical work (changing signalling to be able to accomidate SA's process-wide signalling and re-adding includes of sys/sa.h and savar.h). Subsequent changes will be much more interesting. Also, kern_sa.c has received partial cleanup. There's still more to do, though. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.23 2008/04/04 12:38:52 njoly Exp $ a45 1 #include @ 1.23.6.2 log @Per discussion with ad, remove most of the #include lines as they were including sa.h just for the type(s) needed for syscallargs.h. Instead, create a new file, sys/satypes.h, which contains just the types needed for syscallargs.h. Yes, there's only one now, but that may change and it's probably more likely to change if it'd be difficult to handle. :-) Per discussion with matt at n dot o, add an include of satypes.h to sigtypes.h. Upcall handlers are kinda signal handlers, and signalling is the header file that's already included for syscallargs.h that closest matches SA. This shaves about 3000 lines off of the diff of the branch relative to the base. That also represents about 18% of the total before this checkin. I think this reduction is very good thing. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.23.6.1 2008/05/10 23:48:52 wrstuden Exp $ d46 1 @ 1.22 log @Kill unneeded linux_sys_getpgid and use native sys_getpgid instead. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.21 2007/12/21 22:26:21 njoly Exp $ d111 1 a111 1 26 STD { int linux_sys_msync(void *addr, int len, int fl); } @ 1.22.6.1 log @Sync with HEAD. @ text @d1 1 a1 1 $NetBSD$ d111 1 a111 1 26 NOARGS { int sys___msync13(void *addr, size_t len, int flags); } @ 1.22.6.2 log @Sync with HEAD. @ text @a38 1 #include "opt_compat_netbsd.h" a40 1 a46 3 #include #include d62 3 a64 3 0 NOARGS { int|sys||read(int fd, char *buf, u_int nbyte); } 1 NOARGS { int|sys||write(int fd, char *buf, u_int nbyte); } 2 STD { int|linux_sys||open(const char *path, int flags, \ d66 2 a67 2 3 NOARGS { int|sys||close(int fd); } 4 STD { int|linux_sys||stat64(const char *path, \ d69 1 a69 1 5 STD { int|linux_sys||fstat64(int fd, \ d71 1 a71 1 6 STD { int|linux_sys||lstat64(const char *path, \ d73 1 a73 1 7 NOARGS { int|sys||poll(struct pollfd *fds, u_int nfds, \ d75 1 a75 1 8 NOARGS { long|compat_43_sys||lseek(int fd, long offset, \ d77 1 a77 1 9 NOARGS { linux_off_t|linux_sys||mmap(unsigned long addr, \ d80 1 a80 1 10 STD { int|linux_sys||mprotect(const void *start, \ d82 3 a84 3 11 NOARGS { int|sys||munmap(void *addr, int len); } 12 STD { int|linux_sys||brk(char *nsize); } 13 STD { int|linux_sys||rt_sigaction(int signum, \ d88 1 a88 1 14 STD { int|linux_sys||rt_sigprocmask(int how, \ d92 2 a93 2 15 NOARGS { int|linux_sys||rt_sigreturn(void); } 16 STD { int|linux_sys||ioctl(int fd, u_long com, \ d95 1 a95 1 17 STD { int|linux_sys||pread(int fd, char *buf, \ d97 1 a97 1 18 STD { int|linux_sys||pwrite(int fd, char *buf, \ d99 1 a99 1 19 NOARGS { int|sys||readv(int fd, struct iovec *iovp, \ d101 1 a101 1 20 NOARGS { int|sys||writev(int fd, struct iovec *iovp, \ d103 3 a105 3 21 NOARGS { int|sys||access(const char *path, int flags); } 22 STD { int|linux_sys||pipe(int *pfds); } 23 STD { int|linux_sys||select(int nfds, fd_set *readfds, \ d107 3 a109 3 struct timeval50 *timeout); } 24 STD { int|linux_sys||sched_yield(void); } 25 STD { void *|linux_sys||mremap(void *old_address, \ d111 3 a113 3 26 NOARGS { int|sys|13|msync(void *addr, size_t len, int flags); } 27 NOARGS { int|sys||mincore(void *addr, size_t len, char *vec); } 28 NOARGS { int|sys||madvise(void *addr, size_t len, int behav); } d115 1 a115 1 29 NOARGS { int|linux_sys||shmget(key_t key, size_t size, \ d117 2 a118 2 30 NOARGS { int|sys||shmat(int shmid, void *shmaddr, int shmflg); } 31 NOARGS { int|linux_sys||shmctl(int shmid, int cmd, \ d125 11 a135 13 32 NOARGS { int|sys||dup(u_int fd); } 33 NOARGS { int|sys||dup2(u_int from, u_int to); } 34 STD { int|linux_sys||pause(void); } 35 STD { int|linux_sys||nanosleep( \ const struct linux_timespec *rqtp, \ struct linux_timespec *rmtp); } 36 NOARGS { int|compat_50_sys||getitimer(u_int which, \ struct itimerval50 *itv); } 37 STD { int|linux_sys||alarm(unsigned int secs); } 38 NOARGS { int|compat_50_sys||setitimer(u_int which, \ struct itimerval50 *itv, \ struct itimerval50 *oitv); } 39 STD { pid_t|linux_sys||getpid(void); } d137 1 a137 1 41 STD { int|linux_sys||socket(int domain, \ d139 1 a139 1 42 STD { int|linux_sys||connect(int s, \ d142 1 a142 1 43 STD { int|linux_sys||accept(int s, struct osockaddr *name, \ d144 1 a144 1 44 STD { ssize_t|linux_sys||sendto(int s, void *msg, int len, \ d146 1 a146 1 45 STD { ssize_t|linux_sys||recvfrom(int s, void *buf, \ d149 1 a149 1 46 STD { int|linux_sys||sendmsg(int s, \ d151 1 a151 1 47 STD { ssize_t|linux_sys||recvmsg(int s, \ d153 2 a154 2 48 NOARGS { int|sys||shutdown(int s, int how); } 49 STD { int|linux_sys||bind(int s, \ d157 2 a158 2 50 NOARGS { int|sys||listen(int s, int backlog); } 51 STD { int|linux_sys||getsockname(int fdec, void *asa, \ d160 1 a160 1 52 STD { int|linux_sys||getpeername(int fdes, \ d162 1 a162 1 53 STD { int|linux_sys||socketpair(int domain, int type, \ d164 1 a164 1 54 STD { int|linux_sys||setsockopt(int s, int level, \ d166 1 a166 1 55 STD { int|linux_sys||getsockopt(int s, int level, \ d168 1 a168 1 56 STD { int|linux_sys||clone(int flags, void *stack, \ d170 3 a172 3 57 NOARGS { int|sys||fork(void); } 58 NOARGS { int|sys|14|vfork(void); } 59 NOARGS { int|sys||execve(const char *path, char **argp, \ d174 2 a175 2 60 NOARGS { int|sys||exit(int rval); } 61 STD { int|linux_sys||wait4(int pid, int *status, \ d177 2 a178 2 62 STD { int|linux_sys||kill(int pid, int signum); } 63 STD { int|linux_sys||uname(struct linux_utsname *up); } d180 2 a181 2 64 NOARGS { int|sys||semget(key_t key, int nsems, int semflg); } 65 NOARGS { int|sys||semop(int semid, struct sembuf *sops, \ d183 1 a183 1 66 STD { int|linux_sys||semctl(int semid, int semnum, \ d191 1 a191 1 67 NOARGS { int|sys||shmdt(const void *shmaddr); } d196 2 a197 2 68 NOARGS { int|sys||msgget(key_t key, int msgflg); } 69 NOARGS { int|sys||msgsnd(int msqid, void *msgp, size_t msgsz, \ d199 1 a199 1 70 NOARGS { ssize_t|sys||msgrcv(int msqid, void *msgp, \ d201 1 a201 1 71 NOARGS { int|linux_sys||msgctl(int msqid, int cmd, \ d209 5 a213 5 72 STD { int|linux_sys||fcntl(int fd, int cmd, void *arg); } 73 NOARGS { int|sys||flock(int fd, int how); } 74 NOARGS { int|sys||fsync(int fd); } 75 STD { int|linux_sys||fdatasync(int fd); } 76 STD { int|linux_sys||truncate64(const char *path, \ d215 1 a215 1 77 STD { int|linux_sys||ftruncate64(unsigned int fd, \ d217 1 a217 1 78 STD { int|linux_sys||getdents(int fd, \ d219 4 a222 4 79 NOARGS { int|sys||__getcwd(char *bufp, size_t length); } 80 NOARGS { int|sys||chdir(const char *path); } 81 NOARGS { int|sys||fchdir(int fd); } 82 NOARGS { int|sys||__posix_rename(const char *from, \ d224 7 a230 7 83 NOARGS { int|sys||mkdir(const char *path, int mode); } 84 NOARGS { int|sys||rmdir(const char *path); } 85 STD { int|linux_sys||creat(const char *path, int mode); } 86 NOARGS { int|sys||link(const char *path, const char *link); } 87 STD { int|linux_sys||unlink(const char *path); } 88 NOARGS { int|sys||symlink(const char *path, const char *to); } 89 NOARGS { int|sys||readlink(const char *name, char *buf, \ d232 3 a234 3 90 NOARGS { int|sys||chmod(const char *path, int mode); } 91 NOARGS { int|sys||fchmod(int fd, int mode); } 92 NOARGS { int|sys||__posix_chown(const char *path, uid_t uid, \ d236 1 a236 1 93 NOARGS { int|sys||__posix_fchown(int fd, uid_t uid, \ d238 1 a238 1 94 NOARGS { int|sys||__posix_lchown(const char *path, uid_t uid, \ d240 2 a241 2 95 NOARGS { int|sys||umask(int newmask); } 96 STD { int|linux_sys||gettimeofday(struct timeval50 *tp, \ d243 1 a243 1 97 STD { int|linux_sys||getrlimit(int which, \ d245 4 a248 5 98 NOARGS { int|compat_50_sys||getrusage(int who, \ struct rusage50 *rusage); } 99 STD { int|linux_sys||sysinfo(struct linux_sysinfo *arg); } 100 STD { int|linux_sys||times(struct times *tms); } 101 STD { int|linux_sys||ptrace(long request, long pid, \ d250 1 a250 1 102 NOARGS { uid_t|sys||getuid(void); } d252 14 a265 14 104 NOARGS { gid_t|sys||getgid(void); } 105 NOARGS { void|sys||setuid(uid_t uid); } 106 NOARGS { void|sys||setgid(gid_t gid); } 107 NOARGS { uid_t|sys||geteuid(void); } 108 NOARGS { gid_t|sys||getegid(void); } 109 NOARGS { int|sys||setpgid(int pid, int pgid); } 110 STD { pid_t|linux_sys||getppid(void); } 111 NOARGS { int|sys||getpgrp(void); } 112 NOARGS { int|sys||setsid(void); } 113 NOARGS { int|sys||setreuid(uid_t ruid, uid_t euid); } 114 NOARGS { int|sys||setregid(gid_t rgid, gid_t egid); } 115 NOARGS { int|sys||getgroups(u_int gidsetsize, gid_t *gidset); } 116 NOARGS { int|sys||setgroups(u_int gidsetsize, gid_t *gidset); } 117 STD { int|linux_sys||setresuid(uid_t ruid, uid_t euid, \ d267 1 a267 1 118 STD { int|linux_sys||getresuid(uid_t *ruid, uid_t *euid, \ d269 1 a269 1 119 STD { int|linux_sys||setresgid(gid_t rgid, gid_t egid, \ d271 1 a271 1 120 STD { int|linux_sys||getresgid(gid_t *rgid, gid_t *egid, \ d273 4 a276 4 121 NOARGS { pid_t|sys||getpgid(pid_t pid); } 122 STD { int|linux_sys||setfsuid(uid_t uid); } 123 STD { int|linux_sys||setfsgid(gid_t gid); } 124 NOARGS { pid_t|sys||getsid(pid_t pid); } d279 1 a279 1 127 STD { int|linux_sys||rt_sigpending( \ d283 1 a283 1 129 STD { int|linux_sys||rt_queueinfo(int pid, int signum, \ d285 1 a285 1 130 STD { int|linux_sys||rt_sigsuspend(linux_sigset_t *unewset, \ d287 1 a287 1 131 STD { int|linux_sys||sigaltstack( \ d290 1 a290 1 132 STD { int|linux_sys||utime(const char *path, \ d292 1 a292 1 133 STD { int|linux_sys||mknod(const char *path, int mode, \ d295 1 a295 1 134 STD { int|linux_sys||uselib(const char *path); } d299 1 a299 1 135 STD { int|linux_sys||personality(int per); } d301 1 a301 1 137 STD { int|linux_sys||statfs(const char *path, \ d303 1 a303 1 138 STD { int|linux_sys||fstatfs(int fd, \ d306 3 a308 3 140 STD { int|linux_sys||getpriority(int which, int who); } 141 NOARGS { int|sys||setpriority(int which, int who, int prio); } 142 STD { int|linux_sys||sched_setparam(pid_t pid, \ d310 1 a310 1 143 STD { int|linux_sys||sched_getparam(pid_t pid, \ d312 1 a312 1 144 STD { int|linux_sys||sched_setscheduler(pid_t pid, \ d314 3 a316 3 145 STD { int|linux_sys||sched_getscheduler(pid_t pid); } 146 STD { int|linux_sys||sched_get_priority_max(int policy); } 147 STD { int|linux_sys||sched_get_priority_min(int policy); } d318 4 a321 4 149 NOARGS { int|sys||mlock(void *addr, size_t len); } 150 NOARGS { int|sys||munlock(void *addr, size_t len); } 151 NOARGS { int|sys||mlockall(int flags); } 152 NOARGS { int|sys||munlockall(void); } d323 1 a323 1 154 STD { int|linux_sys||modify_ldt(int func, void *ptr, \ d326 1 a326 1 156 STD { int|linux_sys||__sysctl(struct linux___sysctl *lsp); } d328 1 a328 1 158 STD { int|linux_sys||arch_prctl(int code, \ d331 1 a331 1 160 STD { int|linux_sys||setrlimit(u_int which, \ d333 4 a336 4 161 NOARGS { int|sys||chroot(char *path); } 162 NOARGS { int|sys||sync(void); } 163 NOARGS { int|sys||acct(char *path); } 164 STD { int|linux_sys||settimeofday(struct timeval50 *tp, \ d340 3 a342 3 167 STD { int|linux_sys||swapon(char *name); } 168 STD { int|linux_sys||swapoff(const char *path); } 169 STD { int|linux_sys||reboot(int magic1, int magic2, \ d344 1 a344 1 170 NOARGS { int|compat_43_sys||sethostname(char *hostname, \ d346 1 a346 1 171 STD { int|linux_sys||setdomainname(char *domainname, \ d348 2 a349 2 172 STD { int|linux_sys||iopl(int level); } 173 STD { int|linux_sys||ioperm(unsigned int lo, \ d363 1 a363 1 186 STD { pid_t|linux_sys||gettid(void); } d365 1 a365 1 188 STD { int|linux_sys||setxattr(char *path, char *name, \ d367 1 a367 1 189 STD { int|linux_sys||lsetxattr(char *path, char *name, \ d369 1 a369 1 190 STD { int|linux_sys||fsetxattr(int fd, char *name, \ d371 1 a371 1 191 STD { ssize_t|linux_sys||getxattr(char *path, char *name, \ d373 1 a373 1 192 STD { ssize_t|linux_sys||lgetxattr(char *path, char *name, \ d375 1 a375 1 193 STD { ssize_t|linux_sys||fgetxattr(int fd, char *name, \ d377 1 a377 1 194 STD { ssize_t|linux_sys||listxattr(char *path, char *list, \ d379 1 a379 1 195 STD { ssize_t|linux_sys||llistxattr(char *path, char *list, \ d381 1 a381 1 196 STD { ssize_t|linux_sys||flistxattr(int fd, char *list, \ d383 7 a389 7 197 STD { int|linux_sys||removexattr(char *path, char *name); } 198 STD { int|linux_sys||lremovexattr(char *path, char *name); } 199 STD { int|linux_sys||fremovexattr(int fd, char *name); } 200 STD { int|linux_sys||tkill(int tid, int sig); } 201 STD { int|linux_sys||time(linux_time_t *t); } 202 STD { int|linux_sys||futex(int *uaddr, int op, int val, \ const struct linux_timespec *timeout, int *uaddr2, \ d391 1 a391 1 203 STD { int|linux_sys||sched_setaffinity(pid_t pid, \ d393 1 a393 1 204 STD { int|linux_sys||sched_getaffinity(pid_t pid, \ d407 1 a407 1 217 STD { int|linux_sys||getdents64(int fd, \ d409 1 a409 1 218 STD { int|linux_sys||set_tid_address(int *tid); } d418 1 a418 1 227 STD { int|linux_sys||clock_settime(clockid_t which, \ d420 1 a420 1 228 STD { int|linux_sys||clock_gettime(clockid_t which, \ d422 1 a422 1 229 STD { int|linux_sys||clock_getres(clockid_t which, \ d424 1 a424 1 230 STD { int|linux_sys||clock_nanosleep(clockid_t which, \ d427 1 a427 1 231 STD { int|linux_sys||exit_group(int error_code); } d430 1 a430 1 234 STD { int|linux_sys||tgkill(int tgid, int tid, int sig); } d433 2 a434 53 237 UNIMPL mbind 238 UNIMPL set_mempolicy 239 UNIMPL get_mempolicy 240 UNIMPL mq_open 241 UNIMPL mq_unlink 242 UNIMPL mq_timedsend 243 UNIMPL mq_timedreceive 244 UNIMPL mq_notify 245 UNIMPL mq_getsetattr 246 UNIMPL kexec_load 247 UNIMPL waitid 248 UNIMPL add_key 249 UNIMPL request_key 250 UNIMPL keyctl 251 UNIMPL ioprio_set 252 UNIMPL ioprio_get 253 UNIMPL inotify_init 254 UNIMPL inotify_add_watch 255 UNIMPL inotify_rm_watch 256 UNIMPL migrate_pages 257 UNIMPL openat 258 UNIMPL mkdirat 259 UNIMPL mknodat 260 UNIMPL fchownat 261 UNIMPL futimesat 262 UNIMPL newfstatat 263 UNIMPL unlinkat 264 UNIMPL renameat 265 UNIMPL linkat 266 UNIMPL symlinkat 267 UNIMPL readlinkat 268 UNIMPL fchmodat 269 UNIMPL faccessat 270 UNIMPL pselect6 271 UNIMPL ppoll 272 UNIMPL unshare 273 STD { int|linux_sys||set_robust_list( \ struct linux_robust_list_head *head, size_t len); } 274 STD { int|linux_sys||get_robust_list(int pid, \ struct linux_robust_list_head **head, \ size_t *len); } 275 UNIMPL splice 276 UNIMPL tee 277 UNIMPL sync_file_range 278 UNIMPL vmsplice 279 UNIMPL move_pages 280 UNIMPL utimensat 281 UNIMPL epoll_pwait 282 UNIMPL signalfd 283 UNIMPL timerfd_create 284 UNIMPL eventfd 285 UNIMPL fallocate 286 STD { int|linux_sys||nosys(void); } @ 1.21 log @- Fix setfsuid to return uid on success. - Replace getfsuid, which never existed on Linux, by correct setfsgid syscall. ok by christos and dsl. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.20 2007/12/20 23:02:52 dsl Exp $ d273 1 a273 1 121 STD { int linux_sys_getpgid(int pid); } @ 1.20 log @Convert all the system call entry points from: int foo(struct lwp *l, void *v, register_t *retval) to: int foo(struct lwp *l, const struct foo_args *uap, register_t *retval) Fixup compat code to not write into 'uap' and (in some cases) to actually pass a correctly formatted 'uap' structure with the right name to the next routine. A few 'compat' routines that just call standard ones have been deleted. All the 'compat' code compiles (along with the kernels required to test build it). 98% done by automated scripts. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.19 2007/11/16 12:51:54 njoly Exp $ d275 1 a275 1 123 STD { int linux_sys_getfsuid(void); } @ 1.19 log @Cleanup. Remove a few linux syscalls definitions, now identical to native ones (with stackgap and ALT_CHECK_xxx removal). No functional changes expected. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.18 2007/03/14 12:44:39 njoly Exp $ d51 1 d53 1 d115 1 a115 1 29 STD { int linux_sys_shmget(key_t key, size_t size, \ d118 1 a118 1 31 STD { int linux_sys_shmctl(int shmid, int cmd, \ d201 1 a201 1 71 STD { int linux_sys_msgctl(int msqid, int cmd, \ @ 1.19.6.1 log @Sync with HEAD @ text @d1 1 a1 1 $NetBSD$ a50 1 #include a51 1 #include d113 1 a113 1 29 NOARGS { int linux_sys_shmget(key_t key, size_t size, \ d116 1 a116 1 31 NOARGS { int linux_sys_shmctl(int shmid, int cmd, \ d199 1 a199 1 71 NOARGS { int linux_sys_msgctl(int msqid, int cmd, \ d271 1 a271 1 121 NOARGS { pid_t sys_getpgid(pid_t pid); } d273 1 a273 1 123 STD { int linux_sys_setfsgid(gid_t gid); } @ 1.19.2.1 log @Sync with head. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.22 2007/12/24 14:17:17 njoly Exp $ a50 1 #include a51 1 #include d113 1 a113 1 29 NOARGS { int linux_sys_shmget(key_t key, size_t size, \ d116 1 a116 1 31 NOARGS { int linux_sys_shmctl(int shmid, int cmd, \ d199 1 a199 1 71 NOARGS { int linux_sys_msgctl(int msqid, int cmd, \ d271 1 a271 1 121 NOARGS { pid_t sys_getpgid(pid_t pid); } d273 1 a273 1 123 STD { int linux_sys_setfsgid(gid_t gid); } @ 1.18 log @Fix compat linux statfs/fstatfs syscalls on amd64. - Do not use statfs64/fstatfs64 as they have an extra size argument. - Add full 64bit linux struct statfs support. ok by manu @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.17 2007/03/04 06:01:19 christos Exp $ d101 1 a101 1 21 STD { int linux_sys_access(const char *path, int flags); } d170 1 a170 1 59 STD { int linux_sys_execve(const char *path, char **argp, \ d218 1 a218 1 80 STD { int linux_sys_chdir(const char *path); } d220 1 a220 1 82 STD { int linux_sys_rename(const char *from, \ d222 2 a223 2 83 STD { int linux_sys_mkdir(const char *path, int mode); } 84 STD { int linux_sys_rmdir(const char *path); } d225 1 a225 2 86 STD { int linux_sys_link(const char *path, \ const char *link); } d227 2 a228 3 88 STD { int linux_sys_symlink(const char *path, \ const char *to); } 89 STD { int linux_sys_readlink(const char *name, char *buf, \ d230 1 a230 1 90 STD { int linux_sys_chmod(const char *path, int mode); } d232 1 a232 1 92 STD { int linux_sys_chown(const char *path, uid_t uid, \ d236 1 a236 1 94 STD { int linux_sys_lchown(const char *path, uid_t uid, \ @ 1.18.12.1 log @sync with HEAD @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.18 2007/03/14 12:44:39 njoly Exp $ a50 1 #include a51 1 #include d101 1 a101 1 21 NOARGS { int sys_access(const char *path, int flags); } d113 1 a113 1 29 NOARGS { int linux_sys_shmget(key_t key, size_t size, \ d116 1 a116 1 31 NOARGS { int linux_sys_shmctl(int shmid, int cmd, \ d170 1 a170 1 59 NOARGS { int sys_execve(const char *path, char **argp, \ d199 1 a199 1 71 NOARGS { int linux_sys_msgctl(int msqid, int cmd, \ d218 1 a218 1 80 NOARGS { int sys_chdir(const char *path); } d220 1 a220 1 82 NOARGS { int sys___posix_rename(const char *from, \ d222 2 a223 2 83 NOARGS { int sys_mkdir(const char *path, int mode); } 84 NOARGS { int sys_rmdir(const char *path); } d225 2 a226 1 86 NOARGS { int sys_link(const char *path, const char *link); } d228 3 a230 2 88 NOARGS { int sys_symlink(const char *path, const char *to); } 89 NOARGS { int sys_readlink(const char *name, char *buf, \ d232 1 a232 1 90 NOARGS { int sys_chmod(const char *path, int mode); } d234 1 a234 1 92 NOARGS { int sys___posix_chown(const char *path, uid_t uid, \ d238 1 a238 1 94 NOARGS { int sys___posix_lchown(const char *path, uid_t uid, \ d273 1 a273 1 121 NOARGS { pid_t sys_getpgid(pid_t pid); } d275 1 a275 1 123 STD { int linux_sys_setfsgid(gid_t gid); } @ 1.18.10.1 log @Sync with HEAD. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.19 2007/11/16 12:51:54 njoly Exp $ d101 1 a101 1 21 NOARGS { int sys_access(const char *path, int flags); } d170 1 a170 1 59 NOARGS { int sys_execve(const char *path, char **argp, \ d218 1 a218 1 80 NOARGS { int sys_chdir(const char *path); } d220 1 a220 1 82 NOARGS { int sys___posix_rename(const char *from, \ d222 2 a223 2 83 NOARGS { int sys_mkdir(const char *path, int mode); } 84 NOARGS { int sys_rmdir(const char *path); } d225 2 a226 1 86 NOARGS { int sys_link(const char *path, const char *link); } d228 3 a230 2 88 NOARGS { int sys_symlink(const char *path, const char *to); } 89 NOARGS { int sys_readlink(const char *name, char *buf, \ d232 1 a232 1 90 NOARGS { int sys_chmod(const char *path, int mode); } d234 1 a234 1 92 NOARGS { int sys___posix_chown(const char *path, uid_t uid, \ d238 1 a238 1 94 NOARGS { int sys___posix_lchown(const char *path, uid_t uid, \ @ 1.18.18.1 log @Sync with HEAD. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.19 2007/11/16 12:51:54 njoly Exp $ d101 1 a101 1 21 NOARGS { int sys_access(const char *path, int flags); } d170 1 a170 1 59 NOARGS { int sys_execve(const char *path, char **argp, \ d218 1 a218 1 80 NOARGS { int sys_chdir(const char *path); } d220 1 a220 1 82 NOARGS { int sys___posix_rename(const char *from, \ d222 2 a223 2 83 NOARGS { int sys_mkdir(const char *path, int mode); } 84 NOARGS { int sys_rmdir(const char *path); } d225 2 a226 1 86 NOARGS { int sys_link(const char *path, const char *link); } d228 3 a230 2 88 NOARGS { int sys_symlink(const char *path, const char *to); } 89 NOARGS { int sys_readlink(const char *name, char *buf, \ d232 1 a232 1 90 NOARGS { int sys_chmod(const char *path, int mode); } d234 1 a234 1 92 NOARGS { int sys___posix_chown(const char *path, uid_t uid, \ d238 1 a238 1 94 NOARGS { int sys___posix_lchown(const char *path, uid_t uid, \ @ 1.18.18.2 log @Sync with HEAD. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.22 2007/12/24 14:17:17 njoly Exp $ a50 1 #include a51 1 #include d113 1 a113 1 29 NOARGS { int linux_sys_shmget(key_t key, size_t size, \ d116 1 a116 1 31 NOARGS { int linux_sys_shmctl(int shmid, int cmd, \ d199 1 a199 1 71 NOARGS { int linux_sys_msgctl(int msqid, int cmd, \ d271 1 a271 1 121 NOARGS { pid_t sys_getpgid(pid_t pid); } d273 1 a273 1 123 STD { int linux_sys_setfsgid(gid_t gid); } @ 1.18.16.1 log @Sync with HEAD @ text @d1 1 a1 1 $NetBSD$ d101 1 a101 1 21 NOARGS { int sys_access(const char *path, int flags); } d170 1 a170 1 59 NOARGS { int sys_execve(const char *path, char **argp, \ d218 1 a218 1 80 NOARGS { int sys_chdir(const char *path); } d220 1 a220 1 82 NOARGS { int sys___posix_rename(const char *from, \ d222 2 a223 2 83 NOARGS { int sys_mkdir(const char *path, int mode); } 84 NOARGS { int sys_rmdir(const char *path); } d225 2 a226 1 86 NOARGS { int sys_link(const char *path, const char *link); } d228 3 a230 2 88 NOARGS { int sys_symlink(const char *path, const char *to); } 89 NOARGS { int sys_readlink(const char *name, char *buf, \ d232 1 a232 1 90 NOARGS { int sys_chmod(const char *path, int mode); } d234 1 a234 1 92 NOARGS { int sys___posix_chown(const char *path, uid_t uid, \ d238 1 a238 1 94 NOARGS { int sys___posix_lchown(const char *path, uid_t uid, \ @ 1.17 log @Kill caddr_t; there will be some MI fallout, but it will be fixed shortly. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.16 2007/02/09 21:55:18 ad Exp $ d301 4 a304 4 137 STD { int linux_sys_statfs64(const char *path, \ size_t sz, struct linux_statfs64 *sp); } 138 STD { int linux_sys_fstatfs64(int fd, \ size_t sz, struct linux_statfs64 *sp); } @ 1.17.4.1 log @Sync with head. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.18 2007/03/14 12:44:39 njoly Exp $ d301 4 a304 4 137 STD { int linux_sys_statfs(const char *path, \ struct linux_statfs *sp); } 138 STD { int linux_sys_fstatfs(int fd, \ struct linux_statfs *sp); } @ 1.17.2.1 log @Sync with head. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.17 2007/03/04 06:01:19 christos Exp $ d301 4 a304 4 137 STD { int linux_sys_statfs(const char *path, \ struct linux_statfs *sp); } 138 STD { int linux_sys_fstatfs(int fd, \ struct linux_statfs *sp); } @ 1.16 log @Merge newlock2 to head. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.15 2006/09/01 20:58:18 matt Exp $ d80 1 a80 1 11 NOARGS { int sys_munmap(caddr_t addr, int len); } d92 1 a92 1 caddr_t data); } d109 1 a109 1 26 STD { int linux_sys_msync(caddr_t addr, int len, int fl); } d156 1 a156 1 51 STD { int linux_sys_getsockname(int fdec, caddr_t asa, \ d318 2 a319 2 149 NOARGS { int sys_mlock(caddr_t addr, size_t len); } 150 NOARGS { int sys_munlock(caddr_t addr, size_t len); } @ 1.16.2.1 log @Sync with HEAD. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.16 2007/02/09 21:55:18 ad Exp $ d80 1 a80 1 11 NOARGS { int sys_munmap(void *addr, int len); } d92 1 a92 1 void *data); } d109 1 a109 1 26 STD { int linux_sys_msync(void *addr, int len, int fl); } d156 1 a156 1 51 STD { int linux_sys_getsockname(int fdec, void *asa, \ d318 2 a319 2 149 NOARGS { int sys_mlock(void *addr, size_t len); } 150 NOARGS { int sys_munlock(void *addr, size_t len); } @ 1.16.2.2 log @sync with head. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.16.2.1 2007/03/12 05:52:15 rmind Exp $ d301 4 a304 4 137 STD { int linux_sys_statfs(const char *path, \ struct linux_statfs *sp); } 138 STD { int linux_sys_fstatfs(int fd, \ struct linux_statfs *sp); } @ 1.15 log @Don't conditionalize *sys_ptrace. The lack of sys_ptrace will be dealt with differently. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.14 2006/08/30 11:14:39 matt Exp $ a45 1 #include @ 1.15.6.1 log @Pull up following revision(s) (requested by njoly in ticket #581): sys/compat/linux/common/linux_misc.c: revision 1.168 sys/compat/linux/arch/amd64/syscalls.master: revision 1.18 sys/compat/linux/common/linux_types.h: revision 1.25 sys/compat/linux/arch/amd64/linux_machdep.h: revision 1.6 sys/compat/linux/common/linux_misc_notalpha.c: revision 1.87 Fix compat linux statfs/fstatfs syscalls on amd64. - Do not use statfs64/fstatfs64 as they have an extra size argument. - Add full 64bit linux struct statfs support. @ text @d1 1 a1 1 $NetBSD$ d302 4 a305 4 137 STD { int linux_sys_statfs(const char *path, \ struct linux_statfs *sp); } 138 STD { int linux_sys_fstatfs(int fd, \ struct linux_statfs *sp); } @ 1.15.2.1 log @Remove support for SA. Ok core@@. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.15 2006/09/01 20:58:18 matt Exp $ d46 1 @ 1.14 log @Update to deal with options PTRACE @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.13 2006/08/24 16:36:59 manu Exp $ a38 1 #include "opt_ptrace.h" a248 1 #ifdef PTRACE a250 3 #else 101 EXCL ptrace #endif @ 1.13 log @The return value for Linux shmat on amd64 does not suffer the same horrible hack as on i386. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.12 2006/06/25 16:15:39 manu Exp $ d39 1 d250 1 d253 3 @ 1.12 log @- Complete exit_group() implementation. We now maintain a list of Linux threads in a processes and kill them properly. The code is a bit too complicated, but I could not find a simplier way of dealing with it - Change getpid() and getppid() semantics to match what Linux does, and implement gettid(). In the Linux kernel, threads are implemnted as plain old processes. A thread group is just a set of processes, with the parent called leader. Thread ID, which are returned by gettid(), are just the PID of the plain old processes, and getpid() returns the PID of the thread group leader. - Remove struct linux32_emuldata. COMPAT_LINUX32 uses a lot of COMPAT_LINUX code, where a struct linux_emuldata is assumed. By having distinct emuldata structure with different sizes and layouts, we caused kernel memory corruptions. - Fix setprioriry() and getpriority() Thanks to Nicolas Joly for tracking down the problem and providing me the hardware to fix them. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.11 2006/06/10 21:15:33 christos Exp $ d114 3 a116 3 29 STD { int linux_sys_shmget(key_t key, size_t size, int shmflg); } 30 STD { int linux_sys_shmat(int shmid, void *shmaddr, \ int shmflg, u_long *raddr); } @ 1.11 log @linux getpriority is off-by-20 so use our own function. From PR/33671: Nicolas Joly @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.10 2006/02/09 19:18:56 manu Exp $ d134 1 a134 1 39 NOARGS MPSAFE { pid_t sys_getpid(void); } d259 1 a259 1 110 NOARGS { pid_t sys_getppid(void); } @ 1.11.2.1 log @Merge from HEAD. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.12 2006/06/25 16:15:39 manu Exp $ d134 1 a134 1 39 STD { pid_t linux_sys_getpid(void); } d259 1 a259 1 110 STD { pid_t linux_sys_getppid(void); } @ 1.10 log @Add initial (but unfinished) COMPAT_LINUX32 for amd64. This is good enough so that the i386 license manager part of amd64 version of Fluent works. While I'm here, add SysV IPC to COMPAT_LINUX/amd64 @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.9 2005/11/23 16:14:57 manu Exp $ d307 1 a307 1 140 NOARGS { int sys_getpriority(int which, int who); } @ 1.10.2.1 log @sync with head. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.10 2006/02/09 19:18:56 manu Exp $ d134 1 a134 1 39 STD { pid_t linux_sys_getpid(void); } d259 1 a259 1 110 STD { pid_t linux_sys_getppid(void); } d307 1 a307 1 140 STD { int linux_sys_getpriority(int which, int who); } @ 1.10.2.2 log @sync with head. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.10.2.1 2006/06/26 12:46:01 yamt Exp $ d114 3 a116 3 29 STD { int linux_sys_shmget(key_t key, size_t size, \ int shmflg); } 30 NOARGS { int sys_shmat(int shmid, void *shmaddr, int shmflg); } @ 1.10.8.1 log @Sync with head. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.11 2006/06/10 21:15:33 christos Exp $ d307 1 a307 1 140 STD { int linux_sys_getpriority(int which, int who); } @ 1.9 log @- Add Linux tkill and tgkill (partial emulation). - Fix getrlimit on amd64 @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.8 2005/11/05 08:06:58 manu Exp $ d37 1 d51 2 d113 7 d123 1 d178 7 d188 4 d193 10 d207 1 @ 1.9.4.1 log @sync with head @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.15 2006/09/01 20:58:18 matt Exp $ a36 1 #include "opt_sysv.h" a49 2 #include #include a109 7 #ifdef SYSVSHM 29 STD { int linux_sys_shmget(key_t key, size_t size, \ int shmflg); } 30 NOARGS { int sys_shmat(int shmid, void *shmaddr, int shmflg); } 31 STD { int linux_sys_shmctl(int shmid, int cmd, \ struct linux_shmid_ds *buf); } #else a112 1 #endif d123 1 a123 1 39 STD { pid_t linux_sys_getpid(void); } a166 7 #ifdef SYSVSEM 64 NOARGS { int sys_semget(key_t key, int nsems, int semflg); } 65 NOARGS { int sys_semop(int semid, struct sembuf *sops, \ size_t nsops); } 66 STD { int linux_sys_semctl(int semid, int semnum, \ int cmd, union linux_semun arg); } #else a169 4 #endif #ifdef SYSVSHM 67 NOARGS { int sys_shmdt(const void *shmaddr); } #else a170 10 #endif #ifdef SYSVMSG 68 NOARGS { int sys_msgget(key_t key, int msgflg); } 69 NOARGS { int sys_msgsnd(int msqid, void *msgp, size_t msgsz, \ int msgflg); } 70 NOARGS { ssize_t sys_msgrcv(int msqid, void *msgp, \ size_t msgsz, long msgtyp, int msgflg); } 71 STD { int linux_sys_msgctl(int msqid, int cmd, \ struct linux_msqid_ds *buf); } #else a174 1 #endif d226 1 a226 1 110 STD { pid_t linux_sys_getppid(void); } d274 1 a274 1 140 STD { int linux_sys_getpriority(int which, int who); } @ 1.9.6.1 log @Sync with head. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.10 2006/02/09 19:18:56 manu Exp $ a36 1 #include "opt_sysv.h" a49 2 #include #include a109 7 #ifdef SYSVSHM 29 STD { int linux_sys_shmget(key_t key, size_t size, int shmflg); } 30 STD { int linux_sys_shmat(int shmid, void *shmaddr, \ int shmflg, u_long *raddr); } 31 STD { int linux_sys_shmctl(int shmid, int cmd, \ struct linux_shmid_ds *buf); } #else a112 1 #endif a166 7 #ifdef SYSVSEM 64 NOARGS { int sys_semget(key_t key, int nsems, int semflg); } 65 NOARGS { int sys_semop(int semid, struct sembuf *sops, \ size_t nsops); } 66 STD { int linux_sys_semctl(int semid, int semnum, \ int cmd, union linux_semun arg); } #else a169 4 #endif #ifdef SYSVSHM 67 NOARGS { int sys_shmdt(const void *shmaddr); } #else a170 10 #endif #ifdef SYSVMSG 68 NOARGS { int sys_msgget(key_t key, int msgflg); } 69 NOARGS { int sys_msgsnd(int msqid, void *msgp, size_t msgsz, \ int msgflg); } 70 NOARGS { ssize_t sys_msgrcv(int msqid, void *msgp, \ size_t msgsz, long msgtyp, int msgflg); } 71 STD { int linux_sys_msgctl(int msqid, int cmd, \ struct linux_msqid_ds *buf); } #else a174 1 #endif @ 1.9.2.1 log @sync with head. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.9 2005/11/23 16:14:57 manu Exp $ a36 1 #include "opt_sysv.h" a49 2 #include #include a109 7 #ifdef SYSVSHM 29 STD { int linux_sys_shmget(key_t key, size_t size, int shmflg); } 30 STD { int linux_sys_shmat(int shmid, void *shmaddr, \ int shmflg, u_long *raddr); } 31 STD { int linux_sys_shmctl(int shmid, int cmd, \ struct linux_shmid_ds *buf); } #else a112 1 #endif a166 7 #ifdef SYSVSEM 64 NOARGS { int sys_semget(key_t key, int nsems, int semflg); } 65 NOARGS { int sys_semop(int semid, struct sembuf *sops, \ size_t nsops); } 66 STD { int linux_sys_semctl(int semid, int semnum, \ int cmd, union linux_semun arg); } #else a169 4 #endif #ifdef SYSVSHM 67 NOARGS { int sys_shmdt(const void *shmaddr); } #else a170 10 #endif #ifdef SYSVMSG 68 NOARGS { int sys_msgget(key_t key, int msgflg); } 69 NOARGS { int sys_msgsnd(int msqid, void *msgp, size_t msgsz, \ int msgflg); } 70 NOARGS { ssize_t sys_msgrcv(int msqid, void *msgp, \ size_t msgsz, long msgtyp, int msgflg); } 71 STD { int linux_sys_msgctl(int msqid, int cmd, \ struct linux_msqid_ds *buf); } #else a174 1 #endif @ 1.8 log @Implement Linux sched_{set|get}affinity @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.7 2005/11/04 16:51:56 manu Exp $ d212 1 a212 1 struct orlimit *rlp); } d300 1 a300 1 struct orlimit *rlp); } d354 1 a354 1 200 UNIMPL tkill d398 1 a398 1 234 UNIMPL tgkill @ 1.8.2.1 log @file syscalls.master was added on branch ktrace-lwp on 2005-11-10 14:00:59 +0000 @ text @d1 402 @ 1.8.2.2 log @Sync with HEAD. Here we go again... @ text @a0 402 $NetBSD: syscalls.master,v 1.8.2.1 2005/11/10 14:00:59 skrll Exp $ ; @@(#)syscalls.master 8.1 (Berkeley) 7/19/93 ; NetBSD amd64 COMPAT_LINUX system call name/number "master" file. ; (See syscalls.conf to see what it is processed into.) ; ; Fields: number type [type-dependent ...] ; number system call number, must be in order ; type one of STD, OBSOL, UNIMPL, NODEF, NOARGS, or one of ; the compatibility options defined in syscalls.conf. ; ; types: ; STD always included ; OBSOL obsolete, not included in system ; UNIMPL unimplemented, not included in system ; NODEF included, but don't define the syscall number ; NOARGS included, but don't define the syscall args structure ; INDIR included, but don't define the syscall args structure ; and allow it to be "really" varargs. ; ; The compat options are defined in the syscalls.conf file, and the ; compat option name is prefixed to the syscall name. Other than ; that, they're like NODEF (for 'compat' options), or STD (for ; 'libcompat' options). ; ; The type-dependent arguments are as follows: ; For STD, NODEF, NOARGS, and compat syscalls: ; { pseudo-proto } [alias] ; For other syscalls: ; [comment] ; ; #ifdef's, etc. may be included, and are copied to the output files. ; #include's are copied to the syscall names and switch definition files only. #if defined(_KERNEL_OPT) #include "opt_compat_43.h" #endif #include #include #include #include #include #include #include #include #include #include #include #include #include %% 0 NOARGS { int sys_read(int fd, char *buf, u_int nbyte); } 1 NOARGS { int sys_write(int fd, char *buf, u_int nbyte); } 2 STD { int linux_sys_open(const char *path, int flags, \ int mode); } 3 NOARGS { int sys_close(int fd); } 4 STD { int linux_sys_stat64(const char *path, \ struct linux_stat *sp); } 5 STD { int linux_sys_fstat64(int fd, \ struct linux_stat *sp); } 6 STD { int linux_sys_lstat64(const char *path, \ struct linux_stat *sp); } 7 NOARGS { int sys_poll(struct pollfd *fds, u_int nfds, \ int timeout); } 8 NOARGS { long compat_43_sys_lseek(int fd, long offset, \ int whence); } 9 NOARGS { linux_off_t linux_sys_mmap(unsigned long addr, \ size_t len, int prot, int flags, int fd, \ linux_off_t offset); } 10 STD { int linux_sys_mprotect(const void *start, \ unsigned long len, int prot); } 11 NOARGS { int sys_munmap(caddr_t addr, int len); } 12 STD { int linux_sys_brk(char *nsize); } 13 STD { int linux_sys_rt_sigaction(int signum, \ const struct linux_sigaction *nsa, \ struct linux_sigaction *osa, \ size_t sigsetsize); } 14 STD { int linux_sys_rt_sigprocmask(int how, \ const linux_sigset_t *set, \ linux_sigset_t *oset, \ size_t sigsetsize); } 15 NOARGS { int linux_sys_rt_sigreturn(void); } 16 STD { int linux_sys_ioctl(int fd, u_long com, \ caddr_t data); } 17 STD { int linux_sys_pread(int fd, char *buf, \ size_t nbyte, linux_off_t offset); } 18 STD { int linux_sys_pwrite(int fd, char *buf, \ size_t nbyte, linux_off_t offset); } 19 NOARGS { int sys_readv(int fd, struct iovec *iovp, \ u_int iovcnt); } 20 NOARGS { int sys_writev(int fd, struct iovec *iovp, \ u_int iovcnt); } 21 STD { int linux_sys_access(const char *path, int flags); } 22 STD { int linux_sys_pipe(int *pfds); } 23 STD { int linux_sys_select(int nfds, fd_set *readfds, \ fd_set *writefds, fd_set *exceptfds, \ struct timeval *timeout); } 24 STD { int linux_sys_sched_yield(void); } 25 STD { void *linux_sys_mremap(void *old_address, \ size_t old_size, size_t new_size, u_long flags); } 26 STD { int linux_sys_msync(caddr_t addr, int len, int fl); } 27 NOARGS { int sys_mincore(void *addr, size_t len, char *vec); } 28 NOARGS { int sys_madvise(void *addr, size_t len, int behav); } 29 UNIMPL shmget 30 UNIMPL shmat 31 UNIMPL shmctl 32 NOARGS { int sys_dup(u_int fd); } 33 NOARGS { int sys_dup2(u_int from, u_int to); } 34 STD { int linux_sys_pause(void); } 35 NOARGS { int sys_nanosleep(const struct timespec *rqtp, \ struct timespec *rmtp); } 36 NOARGS { int sys_getitimer(u_int which, \ struct itimerval *itv); } 37 STD { int linux_sys_alarm(unsigned int secs); } 38 NOARGS { int sys_setitimer(u_int which, \ struct itimerval *itv, struct itimerval *oitv); } 39 NOARGS MPSAFE { pid_t sys_getpid(void); } 40 UNIMPL sendfile 41 STD { int linux_sys_socket(int domain, \ int type, int protocol); } 42 STD { int linux_sys_connect(int s, \ const struct osockaddr *name, \ unsigned int namelen); } 43 STD { int linux_sys_accept(int s, struct osockaddr *name, \ int *anamelen); } oaccept 44 STD { ssize_t linux_sys_sendto(int s, void *msg, int len, \ int flags, struct osockaddr *to, int tolen); } 45 STD { ssize_t linux_sys_recvfrom(int s, void *buf, \ size_t len, int flags, struct osockaddr *from, \ unsigned int *fromlenaddr); } 46 STD { int linux_sys_sendmsg(int s, \ const struct msghdr *msg, int flags); } 47 STD { ssize_t linux_sys_recvmsg(int s, \ struct msghdr *msg, int flags); } 48 NOARGS { int sys_shutdown(int s, int how); } 49 STD { int linux_sys_bind(int s, \ const struct osockaddr *name, \ unsigned int namelen); } 50 NOARGS { int sys_listen(int s, int backlog); } 51 STD { int linux_sys_getsockname(int fdec, caddr_t asa, \ int *alen); } 52 STD { int linux_sys_getpeername(int fdes, \ struct sockaddr *asa, unsigned int *alen); } 53 STD { int linux_sys_socketpair(int domain, int type, \ int protocol, int *rsv); } 54 STD { int linux_sys_setsockopt(int s, int level, \ int optname, void *optval, int optlen); } 55 STD { int linux_sys_getsockopt(int s, int level, \ int optname, void *optval, int *optlen); } 56 STD { int linux_sys_clone(int flags, void *stack, \ void *parent_tidptr, void *child_tidptr); } 57 NOARGS { int sys_fork(void); } 58 NOARGS { int sys___vfork14(void); } 59 STD { int linux_sys_execve(const char *path, char **argp, \ char **envp); } 60 NOARGS { int sys_exit(int rval); } 61 STD { int linux_sys_wait4(int pid, int *status, \ int options, struct rusage *rusage); } 62 STD { int linux_sys_kill(int pid, int signum); } 63 STD { int linux_sys_uname(struct linux_utsname *up); } 64 UNIMPL semget 65 UNIMPL semop 66 UNIMPL semctl 67 UNIMPL shmdt 68 UNIMPL msgget 69 UNIMPL msgsnd 70 UNIMPL msgrcv 71 UNIMPL msgctl 72 STD { int linux_sys_fcntl(int fd, int cmd, void *arg); } 73 NOARGS { int sys_flock(int fd, int how); } 74 NOARGS { int sys_fsync(int fd); } 75 STD { int linux_sys_fdatasync(int fd); } 76 STD { int linux_sys_truncate64(const char *path, \ off_t length); } 77 STD { int linux_sys_ftruncate64(unsigned int fd, \ off_t length); } 78 STD { int linux_sys_getdents(int fd, \ struct linux_dirent *dent, unsigned int count); } 79 NOARGS { int sys___getcwd(char *bufp, size_t length); } 80 STD { int linux_sys_chdir(const char *path); } 81 NOARGS { int sys_fchdir(int fd); } 82 STD { int linux_sys_rename(const char *from, \ const char *to); } 83 STD { int linux_sys_mkdir(const char *path, int mode); } 84 STD { int linux_sys_rmdir(const char *path); } 85 STD { int linux_sys_creat(const char *path, int mode); } 86 STD { int linux_sys_link(const char *path, \ const char *link); } 87 STD { int linux_sys_unlink(const char *path); } 88 STD { int linux_sys_symlink(const char *path, \ const char *to); } 89 STD { int linux_sys_readlink(const char *name, char *buf, \ int count); } 90 STD { int linux_sys_chmod(const char *path, int mode); } 91 NOARGS { int sys_fchmod(int fd, int mode); } 92 STD { int linux_sys_chown(const char *path, uid_t uid, \ gid_t gid); } 93 NOARGS { int sys___posix_fchown(int fd, uid_t uid, \ gid_t gid); } 94 STD { int linux_sys_lchown(const char *path, uid_t uid, \ gid_t gid); } 95 NOARGS { int sys_umask(int newmask); } 96 STD { int linux_sys_gettimeofday(struct timeval *tp, \ struct timezone *tzp); } 97 STD { int linux_sys_getrlimit(int which, \ struct orlimit *rlp); } 98 NOARGS { int sys_getrusage(int who, struct rusage *rusage); } 99 STD { int linux_sys_sysinfo(struct linux_sysinfo *arg); } 100 STD { int linux_sys_times(struct times *tms); } 101 STD { int linux_sys_ptrace(long request, long pid, \ long addr, long data); } 102 NOARGS { uid_t sys_getuid(void); } 103 UNIMPL syslog 104 NOARGS { gid_t sys_getgid(void); } 105 NOARGS { void sys_setuid(uid_t uid); } 106 NOARGS { void sys_setgid(gid_t gid); } 107 NOARGS { uid_t sys_geteuid(void); } 108 NOARGS { gid_t sys_getegid(void); } 109 NOARGS { int sys_setpgid(int pid, int pgid); } 110 NOARGS { pid_t sys_getppid(void); } 111 NOARGS { int sys_getpgrp(void); } 112 NOARGS { int sys_setsid(void); } 113 NOARGS { int sys_setreuid(uid_t ruid, uid_t euid); } 114 NOARGS { int sys_setregid(gid_t rgid, gid_t egid); } 115 NOARGS { int sys_getgroups(u_int gidsetsize, gid_t *gidset); } 116 NOARGS { int sys_setgroups(u_int gidsetsize, gid_t *gidset); } 117 STD { int linux_sys_setresuid(uid_t ruid, uid_t euid, \ uid_t suid); } 118 STD { int linux_sys_getresuid(uid_t *ruid, uid_t *euid, \ uid_t *suid); } 119 STD { int linux_sys_setresgid(gid_t rgid, gid_t egid, \ gid_t sgid); } 120 STD { int linux_sys_getresgid(gid_t *rgid, gid_t *egid, \ gid_t *sgid); } 121 STD { int linux_sys_getpgid(int pid); } 122 STD { int linux_sys_setfsuid(uid_t uid); } 123 STD { int linux_sys_getfsuid(void); } 124 NOARGS { pid_t sys_getsid(pid_t pid); } 125 UNIMPL capget 126 UNIMPL capset 127 STD { int linux_sys_rt_sigpending( \ linux_sigset_t *set, \ size_t sigsetsize); } 128 UNIMPL rt_sigtimedwait 129 STD { int linux_sys_rt_queueinfo(int pid, int signum, \ siginfo_t *uinfo); } 130 STD { int linux_sys_rt_sigsuspend(linux_sigset_t *unewset, \ size_t sigsetsize); } 131 STD { int linux_sys_sigaltstack( \ const struct linux_sigaltstack *ss, \ struct linux_sigaltstack *oss); } 132 STD { int linux_sys_utime(const char *path, \ struct linux_utimbuf *times); } 133 STD { int linux_sys_mknod(const char *path, int mode, \ int dev); } #ifdef EXEC_AOUT 134 STD { int linux_sys_uselib(const char *path); } #else 134 UNIMPL sys_uselib #endif 135 STD { int linux_sys_personality(int per); } 136 UNIMPL ustat 137 STD { int linux_sys_statfs64(const char *path, \ size_t sz, struct linux_statfs64 *sp); } 138 STD { int linux_sys_fstatfs64(int fd, \ size_t sz, struct linux_statfs64 *sp); } 139 UNIMPL sysfs 140 NOARGS { int sys_getpriority(int which, int who); } 141 NOARGS { int sys_setpriority(int which, int who, int prio); } 142 STD { int linux_sys_sched_setparam(pid_t pid, \ const struct linux_sched_param *sp); } 143 STD { int linux_sys_sched_getparam(pid_t pid, \ struct linux_sched_param *sp); } 144 STD { int linux_sys_sched_setscheduler(pid_t pid, \ int policy, const struct linux_sched_param *sp); } 145 STD { int linux_sys_sched_getscheduler(pid_t pid); } 146 STD { int linux_sys_sched_get_priority_max(int policy); } 147 STD { int linux_sys_sched_get_priority_min(int policy); } 148 UNIMPL sys_sched_rr_get_interval 149 NOARGS { int sys_mlock(caddr_t addr, size_t len); } 150 NOARGS { int sys_munlock(caddr_t addr, size_t len); } 151 NOARGS { int sys_mlockall(int flags); } 152 NOARGS { int sys_munlockall(void); } 153 UNIMPL vhangup 154 STD { int linux_sys_modify_ldt(int func, void *ptr, \ size_t bytecount); } 155 UNIMPL pivot_root 156 STD { int linux_sys___sysctl(struct linux___sysctl *lsp); } 157 UNIMPL prctl 158 STD { int linux_sys_arch_prctl(int code, \ unsigned long addr); } 159 UNIMPL adjtimex 160 STD { int linux_sys_setrlimit(u_int which, \ struct orlimit *rlp); } 161 NOARGS { int sys_chroot(char *path); } 162 NOARGS { int sys_sync(void); } 163 NOARGS { int sys_acct(char *path); } 164 STD { int linux_sys_settimeofday(struct timeval *tp, \ struct timezone *tzp); } 165 UNIMPL mount 166 UNIMPL umount2 167 STD { int linux_sys_swapon(char *name); } 168 STD { int linux_sys_swapoff(const char *path); } 169 STD { int linux_sys_reboot(int magic1, int magic2, \ int cmd, void *arg); } 170 NOARGS { int compat_43_sys_sethostname(char *hostname, \ u_int len);} 171 STD { int linux_sys_setdomainname(char *domainname, \ int len); } 172 STD { int linux_sys_iopl(int level); } 173 STD { int linux_sys_ioperm(unsigned int lo, \ unsigned int hi, int val); } 174 UNIMPL create_module 175 UNIMPL init_module 176 UNIMPL delete_module 177 UNIMPL get_kernel_syms 178 UNIMPL query_module 179 UNIMPL quotactl 180 UNIMPL nfsservctl 181 UNIMPL getpmsg 182 UNIMPL putpmsg 183 UNIMPL afs_syscall 184 UNIMPL tuxcall 185 UNIMPL security 186 STD { pid_t linux_sys_gettid(void); } 187 UNIMPL readahead 188 STD { int linux_sys_setxattr(char *path, char *name, \ void *value, size_t size, int flags); } 189 STD { int linux_sys_lsetxattr(char *path, char *name, \ void *value, size_t size, int flags); } 190 STD { int linux_sys_fsetxattr(int fd, char *name, \ void *value, size_t size, int flags); } 191 STD { ssize_t linux_sys_getxattr(char *path, char *name, \ void *value, size_t size); } 192 STD { ssize_t linux_sys_lgetxattr(char *path, char *name, \ void *value, size_t size); } 193 STD { ssize_t linux_sys_fgetxattr(int fd, char *name, \ void *value, size_t size); } 194 STD { ssize_t linux_sys_listxattr(char *path, char *list, \ size_t size); } 195 STD { ssize_t linux_sys_llistxattr(char *path, char *list, \ size_t size); } 196 STD { ssize_t linux_sys_flistxattr(int fd, char *list, \ size_t size); } 197 STD { int linux_sys_removexattr(char *path, char *name); } 198 STD { int linux_sys_lremovexattr(char *path, char *name); } 199 STD { int linux_sys_fremovexattr(int fd, char *name); } 200 UNIMPL tkill 201 STD { int linux_sys_time(linux_time_t *t); } 202 STD { int linux_sys_futex(int *uaddr, int op, int val, \ const struct timespec *timeout, int *uaddr2, \ int val3); } 203 STD { int linux_sys_sched_setaffinity(pid_t pid, \ unsigned int len, unsigned long *mask); } 204 STD { int linux_sys_sched_getaffinity(pid_t pid, \ unsigned int len, unsigned long *mask); } 205 UNIMPL set_thread_area 206 UNIMPL io_setup 207 UNIMPL io_destroy 208 UNIMPL io_getevents 209 UNIMPL io_submit 210 UNIMPL io_cancel 211 UNIMPL get_thread_area 212 UNIMPL lookup_dcookie 213 UNIMPL epoll_create 214 UNIMPL epoll_ctl_old 215 UNIMPL epoll_wait_old 216 UNIMPL remap_file_pages 217 STD { int linux_sys_getdents64(int fd, \ struct linux_dirent64 *dent, unsigned int count); } 218 STD { int linux_sys_set_tid_address(int *tid); } 219 UNIMPL restart_syscall 220 UNIMPL semtimedop 221 UNIMPL fadvise64 222 UNIMPL timer_create 223 UNIMPL timer_settime 224 UNIMPL timer_gettime 225 UNIMPL timer_getoverrun 226 UNIMPL timer_delete 227 STD { int linux_sys_clock_settime(clockid_t which, \ struct linux_timespec *tp); } 228 STD { int linux_sys_clock_gettime(clockid_t which, \ struct linux_timespec *tp); } 229 STD { int linux_sys_clock_getres(clockid_t which, \ struct linux_timespec *tp); } 230 STD { int linux_sys_clock_nanosleep(clockid_t which, \ int flags, struct linux_timespec *rqtp, \ struct linux_timespec *rmtp); } 231 STD { int linux_sys_exit_group(int error_code); } 232 UNIMPL epoll_wait 233 UNIMPL epoll_ctl 234 UNIMPL tgkill 235 UNIMPL utimes 236 UNIMPL vserver ; Not really syscall 237, but we need it to be defined somewhere 237 STD { int linux_sys_nosys(void); } @ 1.8.2.3 log @Sync with head. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.8.2.2 2005/12/11 10:28:46 christos Exp $ d212 1 a212 1 struct rlimit *rlp); } d300 1 a300 1 struct rlimit *rlp); } d354 1 a354 1 200 STD { int linux_sys_tkill(int tid, int sig); } d398 1 a398 1 234 STD { int linux_sys_tgkill(int tgid, int tid, int sig); } @ 1.8.4.1 log @sync with head. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.8 2005/11/05 08:06:58 manu Exp $ d212 1 a212 1 struct rlimit *rlp); } d300 1 a300 1 struct rlimit *rlp); } d354 1 a354 1 200 STD { int linux_sys_tkill(int tid, int sig); } d398 1 a398 1 234 STD { int linux_sys_tgkill(int tgid, int tid, int sig); } @ 1.7 log @Implement Linux futex and gettid system calls for amd64 @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.6 2005/10/18 18:37:44 joerg Exp $ d359 4 a362 2 203 UNIMPL sched_setaffinity 204 UNIMPL sched_getaffinity @ 1.6 log @sys_uselib is needed by COMPAT_LINUX for EXEC_AOUT. Since it doesn't get build when EXEC_AOUT is not defined, the syscalls.master entry has to be conditionalized. Alpha did so already, so let the other archs catch up with it. Go-on: christos @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.5 2005/06/22 15:10:51 manu Exp $ d331 1 a331 1 186 UNIMPL gettid d356 3 a358 1 202 UNIMPL futex @ 1.5 log @Implent CLONE_PARENT_SETTID, CLONE_CHILD_CLEARTID, and CLONE_CHILD_SETTID options to clone(). This makes fork() work on amd64. clone() prototype has changed and the changes is probably revelant on some other arches. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.4 2005/05/22 19:29:15 fvdl Exp $ d262 1 d264 3 @ 1.5.2.1 log @sync with head. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.5 2005/06/22 15:10:51 manu Exp $ a36 1 #include "opt_sysv.h" a49 2 #include #include a109 7 #ifdef SYSVSHM 29 STD { int linux_sys_shmget(key_t key, size_t size, int shmflg); } 30 STD { int linux_sys_shmat(int shmid, void *shmaddr, \ int shmflg, u_long *raddr); } 31 STD { int linux_sys_shmctl(int shmid, int cmd, \ struct linux_shmid_ds *buf); } #else a112 1 #endif a166 7 #ifdef SYSVSEM 64 NOARGS { int sys_semget(key_t key, int nsems, int semflg); } 65 NOARGS { int sys_semop(int semid, struct sembuf *sops, \ size_t nsops); } 66 STD { int linux_sys_semctl(int semid, int semnum, \ int cmd, union linux_semun arg); } #else a169 4 #endif #ifdef SYSVSHM 67 NOARGS { int sys_shmdt(const void *shmaddr); } #else a170 10 #endif #ifdef SYSVMSG 68 NOARGS { int sys_msgget(key_t key, int msgflg); } 69 NOARGS { int sys_msgsnd(int msqid, void *msgp, size_t msgsz, \ int msgflg); } 70 NOARGS { ssize_t sys_msgrcv(int msqid, void *msgp, \ size_t msgsz, long msgtyp, int msgflg); } 71 STD { int linux_sys_msgctl(int msqid, int cmd, \ struct linux_msqid_ds *buf); } #else a174 1 #endif d212 1 a212 1 struct rlimit *rlp); } a261 1 #ifdef EXEC_AOUT a262 3 #else 134 UNIMPL sys_uselib #endif d270 1 a270 1 140 STD { int linux_sys_getpriority(int which, int who); } d296 1 a296 1 struct rlimit *rlp); } d327 1 a327 1 186 STD { pid_t linux_sys_gettid(void); } d350 1 a350 1 200 STD { int linux_sys_tkill(int tid, int sig); } d352 3 a354 7 202 STD { int linux_sys_futex(int *uaddr, int op, int val, \ const struct timespec *timeout, int *uaddr2, \ int val3); } 203 STD { int linux_sys_sched_setaffinity(pid_t pid, \ unsigned int len, unsigned long *mask); } 204 STD { int linux_sys_sched_getaffinity(pid_t pid, \ unsigned int len, unsigned long *mask); } d390 1 a390 1 234 STD { int linux_sys_tgkill(int tgid, int tid, int sig); } @ 1.5.2.2 log @sync with head. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.5.2.1 2006/06/21 14:59:01 yamt Exp $ d114 3 a116 3 29 STD { int linux_sys_shmget(key_t key, size_t size, \ int shmflg); } 30 NOARGS { int sys_shmat(int shmid, void *shmaddr, int shmflg); } d134 1 a134 1 39 STD { pid_t linux_sys_getpid(void); } d259 1 a259 1 110 STD { pid_t linux_sys_getppid(void); } @ 1.5.2.3 log @sync with head. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.5.2.2 2006/12/30 20:47:35 yamt Exp $ d46 1 @ 1.5.2.4 log @sync with head. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.5.2.3 2007/02/26 09:09:13 yamt Exp $ d80 1 a80 1 11 NOARGS { int sys_munmap(void *addr, int len); } d92 1 a92 1 void *data); } d109 1 a109 1 26 STD { int linux_sys_msync(void *addr, int len, int fl); } d156 1 a156 1 51 STD { int linux_sys_getsockname(int fdec, void *asa, \ d301 4 a304 4 137 STD { int linux_sys_statfs(const char *path, \ struct linux_statfs *sp); } 138 STD { int linux_sys_fstatfs(int fd, \ struct linux_statfs *sp); } d318 2 a319 2 149 NOARGS { int sys_mlock(void *addr, size_t len); } 150 NOARGS { int sys_munlock(void *addr, size_t len); } @ 1.5.2.5 log @sync with head @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.5.2.4 2007/09/03 14:32:13 yamt Exp $ d101 1 a101 1 21 NOARGS { int sys_access(const char *path, int flags); } d170 1 a170 1 59 NOARGS { int sys_execve(const char *path, char **argp, \ d218 1 a218 1 80 NOARGS { int sys_chdir(const char *path); } d220 1 a220 1 82 NOARGS { int sys___posix_rename(const char *from, \ d222 2 a223 2 83 NOARGS { int sys_mkdir(const char *path, int mode); } 84 NOARGS { int sys_rmdir(const char *path); } d225 2 a226 1 86 NOARGS { int sys_link(const char *path, const char *link); } d228 3 a230 2 88 NOARGS { int sys_symlink(const char *path, const char *to); } 89 NOARGS { int sys_readlink(const char *name, char *buf, \ d232 1 a232 1 90 NOARGS { int sys_chmod(const char *path, int mode); } d234 1 a234 1 92 NOARGS { int sys___posix_chown(const char *path, uid_t uid, \ d238 1 a238 1 94 NOARGS { int sys___posix_lchown(const char *path, uid_t uid, \ @ 1.5.2.6 log @sync with head @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.5.2.5 2007/12/07 17:27:52 yamt Exp $ a50 1 #include a51 1 #include d113 1 a113 1 29 NOARGS { int linux_sys_shmget(key_t key, size_t size, \ d116 1 a116 1 31 NOARGS { int linux_sys_shmctl(int shmid, int cmd, \ d199 1 a199 1 71 NOARGS { int linux_sys_msgctl(int msqid, int cmd, \ d271 1 a271 1 121 NOARGS { pid_t sys_getpgid(pid_t pid); } d273 1 a273 1 123 STD { int linux_sys_setfsgid(gid_t gid); } @ 1.4 log @Change sigreturn to have no arguments. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.3 2005/05/16 21:17:11 fvdl Exp $ d156 2 a157 1 56 STD { int linux_sys_clone(int flags, void *stack); } d369 1 a369 1 218 UNIMPL set_tid_address @ 1.3 log @Add clock_* POSIX functions. @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.2 2005/05/16 16:02:20 fvdl Exp $ d88 1 a88 2 15 STD { int linux_sys_rt_sigreturn( \ struct linux_ucontext *ucp); } @ 1.2 log @Add *xattr functions (they all return EOPNOTSUPP). @ text @d1 1 a1 1 $NetBSD: syscalls.master,v 1.1 2005/05/03 16:26:30 manu Exp $ d378 9 a386 4 227 UNIMPL clock_settime 228 UNIMPL clock_gettime 229 UNIMPL clock_getres 230 UNIMPL clock_nanosleep @ 1.1 log @First work on COMPAT_LINUX/amd64 Process startup and dynamiclinking work, but processes hang due to Linux arch_prctl(2) not being really supported yet. @ text @d1 1 a1 1 $NetBSD$ d329 21 a349 12 188 UNIMPL setxattr 189 UNIMPL lsetxattr 190 UNIMPL fsetxattr 191 UNIMPL getxattr 192 UNIMPL lgetxattr 193 UNIMPL fgetxattr 194 UNIMPL listxattr 195 UNIMPL llistxattr 196 UNIMPL flistxattr 197 UNIMPL removexattr 198 UNIMPL lremovexattr 199 UNIMPL fremovexattr @