Tobias Klauser
fae7ac547c
unix: add constants and types to work with Linux loop devices
...
Change-Id: I0996df39a561b50822a6e42e770d96421d6b4965
Reviewed-on: https://go-review.googlesource.com/c/sys/+/185498
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
2019-07-12 06:29:09 +00:00
Tobias Klauser
943d5127bd
unix: add support to get/set Linux capabilities
...
Add wrappers for Getcap/Setcap on Linux as well as some related types
and consts.
Change-Id: I07764c2e64717214850ea3cbdc238e313d1e38c4
Reviewed-on: https://go-review.googlesource.com/c/sys/+/183218
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
2019-06-21 15:33:39 +00:00
Yuval Pavel Zholkover
adf421d2ca
unix: fix Signalfd function signature on linux
...
The kernel raw syscall takes an additional parameter specifying
the size of the Sigset_t parameter, returns a file descriptor and sets errno.
Add a uintptr maxSize parameter, adjust the return to be (newfd int, err error).
Add the _NSIG #define and a wrapper to call with maxSize set to _C__NSIG/8 as done
in glibc/musl.
Change-Id: I277db0aab5c12364533c26ea800b7f394ec83ae4
Reviewed-on: https://go-review.googlesource.com/c/sys/+/178858
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org >
TryBot-Result: Gobot Gobot <gobot@golang.org >
2019-05-28 01:25:30 +00:00
Lehner Florian
12bbe5a7a5
unix: add BPF constants on Linux
...
Change-Id: Ie43daa8ba56ad1e57ddbb8ddd47f83b363fe75b4
Reviewed-on: https://go-review.googlesource.com/c/sys/+/174978
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com >
2019-05-08 10:04:23 +00:00
Gernot Vormayr
a43fa875dd
unix: add missing tpacket block (sub)header
...
This adds the missing tpacket_hdr_v1 struct, which is needed to read
tpacket_block_desc (hdr member, which is a union and therfore defined as
[40]byte). This doesn't modify block_desc so existing implementations
keep working.
Caveat: Although TpacketBDTS has a usec member, this will contain nsec
in case of tpacket v2 or v3.
Change-Id: I772939fe56cf56fc09cf4acf4013b23beb6e03c7
Reviewed-on: https://go-review.googlesource.com/c/sys/+/174861
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org >
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org >
TryBot-Result: Gobot Gobot <gobot@golang.org >
2019-05-02 17:53:42 +00:00
Matt Layher
18eb32c0e2
unix: add Linux crypto configuration API constants and types
...
Change-Id: I447150cb60b5580cee77d23c0dae2244803e92ef
Reviewed-on: https://go-review.googlesource.com/c/sys/+/173660
Run-TryBot: Matt Layher <mdlayher@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org >
2019-04-24 17:57:32 +00:00
Matt Layher
b44545bcd3
unix: add missing rtnetlink IFLA_* constants on Linux
...
A number of IFLA_* constants have been added since the last time this
list was generated. In addition, IFLA_INFO_* is a different enum, so
we'll add the missing values for there as well.
Change-Id: Ie20b1f49a95cbc10daf0be2e5b5d719782eda68f
Reviewed-on: https://go-review.googlesource.com/c/sys/+/171698
Run-TryBot: Matt Layher <mdlayher@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org >
2019-04-11 18:56:58 +00:00
Jeroen Simonetti
0ad05ae300
unix: add missing rtnetlink neighbor constants on Linux
...
Change-Id: Ie261a6f149b7bc531f80726c016bf8f63c9210a7
Reviewed-on: https://go-review.googlesource.com/c/sys/+/171537
Reviewed-by: Ian Lance Taylor <iant@golang.org >
2019-04-10 23:58:45 +00:00
Matt Layher
cc4d4f5062
unix: add missing rtnetlink IFA_* constants on Linux
...
A few additional constants are now available since the last time
this list was updated.
Change-Id: I81cd07f8c6e7acb03ef67764ab783cea89ba3868
Reviewed-on: https://go-review.googlesource.com/c/sys/+/171318
Run-TryBot: Matt Layher <mdlayher@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
2019-04-10 17:00:21 +00:00
Andrei Tudor Călin
980fc434d2
unix, unix/linux: add additional Linux perf API bits
...
Add sample_max_stack field to struct perf_event_attr.
Add the missing PERF_FLAG_FD_CLOEXEC flag, the missing
PERF_COUNT_SW_BPF_OUTPUT constant, missing PERF_RECORD_*
constants, and missing PERF_SAMPLE_BRANCH_* constants.
Change-Id: I44c5e37ff36420b35e56c97e7fc190cd0af95e21
Reviewed-on: https://go-review.googlesource.com/c/sys/+/166457
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com >
2019-03-09 12:25:39 +00:00
Tobias Klauser
3e9a981b8d
unix: add functions to get/set tpacket socket options
...
Add GetsockoptTpacketStats and GetsockoptTpacketStatsV3 to get tpacket
statistics (for TPACKET_V2 and TPACKET_V3).
Add SetsockoptTpacketReq and SetsockoptTpacketReq3 to set up tpacket
v2/v3 ring buffers.
Change-Id: Ic2870be22be7d74141f682e515a682df28e1c814
Reviewed-on: https://go-review.googlesource.com/c/sys/+/165558
Reviewed-by: Ian Lance Taylor <iant@golang.org >
2019-03-06 15:53:19 +00:00
Dominik Honnef
c2f5717e61
unix: add fanotify API on Linux
...
This teaches unix/mksyscall.go about mapping uint64 to syscall
arguments, similar to existing handling of int64.
Change-Id: I536b4b09bbf6a8e3016565a4a04d2b9d32cbc624
Reviewed-on: https://go-review.googlesource.com/c/164664
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com >
2019-03-03 19:25:50 +00:00
Tobias Klauser
cd391775e7
unix: add type NdUseroptmsg on Linux
...
Change-Id: I06997987f2d54a1fbca098878a3bac473ec1bfc0
Reviewed-on: https://go-review.googlesource.com/c/163379
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org >
TryBot-Result: Gobot Gobot <gobot@golang.org >
2019-02-22 17:13:17 +00:00
Tobias Klauser
a9d3bda3a2
unix: add SetsockoptCanRawFilter for linux
...
Add the SetsockoptCanRawFilter func and CanFilter type to allow kernel
message filtering on AF_CAN sockets.
Fixes golang/go#29638
Change-Id: I4042825527ba2bc9aeb8dbe70d1960a06b15c29e
Reviewed-on: https://go-review.googlesource.com/c/163318
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org >
2019-02-22 07:27:16 +00:00
Tobias Klauser
afcc84fd75
unix: add RND* ioctl consts on Linux
...
Change-Id: I79c721d0f4fe097daf096dc7404675aa3048bf6a
Reviewed-on: https://go-review.googlesource.com/c/160757
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
2019-02-01 15:26:29 +00:00
Tobias Klauser
054c452bb7
unix: add socket error queue constants and types from linux/errqueue.h
...
Also add additional packet timestamping constants and types defined
in the same header.
Change-Id: I4280f925b46e229f4c3a83a7fee4612592314016
Reviewed-on: https://go-review.googlesource.com/c/158761
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org >
2019-01-22 07:17:31 +00:00
Tobias Klauser
11f53e0313
unix: use int8 for RawSockaddrUnix.Path on linux/riscv64
...
On linux/riscv64, char defaults to unsigned, so explicitly make
RawSockaddrUnix.Path signed.
Patch by Ryan O'Leary.
Updates golang/go#27532
Change-Id: If99a3953462ad98f61d8fafcda3ebb71b44e6018
Reviewed-on: https://go-review.googlesource.com/c/157900
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org >
2019-01-16 16:14:47 +00:00
Tobias Klauser
a457fd0364
unix: add Signalfd on linux
...
Also add the SFD_* constants and SignalfdSiginfo type.
Change-Id: I3415c212b85c9d5a940ba2bf70f43739a2630d78
Reviewed-on: https://go-review.googlesource.com/c/157897
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org >
2019-01-15 15:29:22 +00:00
Tobias Klauser
b4a75ba826
unix: generate linux/sparc64 go files using Docker
...
With cgo supporting sparc64 as of CL 102555 and CL 132155, the Docker
based build system can be used to generate file for linux/sparc64 as
well.
Updates golang/go#15282
Change-Id: I109e55f39d3229b24b0029c42074e439c6c54dc8
Reviewed-on: https://go-review.googlesource.com/c/102655
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
2018-12-21 14:31:28 +00:00
David Anderson
93218def8b
unix: add sockaddr and defines for PPPoE sockets.
...
`sockaddr_pppox` is a packed struct, which godefs doesn't understand.
So, I had to do the byte packing by hand instead.
Change-Id: Ib92cf43f8ae0729a0af043c4241063911c95e6bf
GitHub-Last-Rev: 8982dec099
GitHub-Pull-Request: golang/sys#23
Reviewed-on: https://go-review.googlesource.com/c/149757
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com >
2018-11-16 16:16:06 +00:00
Tobias Klauser
8e24a49d80
unix: add SOF_TIMESTAMPING_* flags on Linux
...
Add the SOF_TIMESTAMPING_* flags used to request different types of
timestamping operations. In
err := unix.SetsockoptInt(fd, unix.SOL_SOCKET, unix.SO_TIMESTAMPING, val)
val is a mask of SOF_TIMESTAMPING_* values.
See https://www.kernel.org/doc/Documentation/networking/timestamping.txt
for more information.
Fixes golang/go#28173
Change-Id: I26e964d607606f2b3cb24f66f071d11765b9696e
Reviewed-on: https://go-review.googlesource.com/c/143337
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
2018-10-19 16:01:39 +00:00
Tobias Klauser
8469e31483
unix: export sizeof consts
...
Export the sizeof(Ptr|Short|Int|Long|LongLong) consts. This allows users
to get this information (e.g. for alignment purposes) without using cgo
or generating these constants themselves.
Change-Id: I8640482bf67b89c2f2b6e9a116ba7bc268f8135a
Reviewed-on: https://go-review.googlesource.com/c/139617
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org >
2018-10-04 14:53:25 +00:00
Matt Layher
e4b3c5e906
unix: add NCSI generic netlink constants
...
Change-Id: I458f69e01fb64ff66f0b518c547d9eca3e8625cb
Reviewed-on: https://go-review.googlesource.com/138375
Run-TryBot: Matt Layher <mdlayher@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org >
2018-09-28 13:38:29 +00:00
Matt Layher
d47a0f3392
unix: implement Linux AF_XDP sockets
...
Provides access to the Linux AF_XDP socket family. For more
information on AF_XDP, see:
https://www.kernel.org/doc/html/latest/networking/af_xdp.html .
Change-Id: I7efb82c4a67da3e15932e3c0d882f0bad7ba16ef
Reviewed-on: https://go-review.googlesource.com/136695
Run-TryBot: Matt Layher <mdlayher@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com >
2018-09-21 16:39:48 +00:00
Tobias Klauser
d641721ec2
unix: add more RTA_* constants on Linux
...
Now all non-deprecated RTA_* constants as of Linux v4.18 are present.
Change-Id: Ib04e233015f381ceb7c7e06b3d808f3c7948f5b4
Reviewed-on: https://go-review.googlesource.com/136456
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org >
TryBot-Result: Gobot Gobot <gobot@golang.org >
2018-09-20 11:09:15 +00:00
Matt Layher
917fdcba13
unix: add remaining RTA_* constants for use with rtnetlink on Linux
...
Change-Id: Ie48ba8d5bacc73b69d1b964d55ae4d443ab46aac
Reviewed-on: https://go-review.googlesource.com/134116
Run-TryBot: Matt Layher <mdlayher@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
2018-09-07 20:22:04 +00:00
Matt Layher
90887a55d6
unix: add IFLA_INFO_KIND on Linux
...
Change-Id: Ib31ac102a973690d0391626102e1646c8dd387cb
Reviewed-on: https://go-review.googlesource.com/128315
Run-TryBot: Matt Layher <mdlayher@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org >
2018-08-07 15:54:10 +00:00
Casey Callendrello
3dc4335d56
unix: add Linux network namespace constants
...
This adds the NETNSA constants from net_namespace.h, used for creating
and querying network namespace IDs.
Fixes golang/go#26330
Change-Id: I786c4c4771be3eddc4fdb830a52e128aa1a2b9fd
Reviewed-on: https://go-review.googlesource.com/124436
Run-TryBot: Ian Lance Taylor <iant@golang.org >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
2018-08-01 22:11:39 +00:00
Brad Fitzpatrick
e3f9388ec6
unix: add Linux blkpg_ioctl_arg and blkpg_partition types
...
For manipulating Linux partitions with the BLKPG ioctl.
Change-Id: I2196038ccfc39ecd6926817c3b310d0837220095
Reviewed-on: https://go-review.googlesource.com/125642
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
2018-07-27 22:55:06 +00:00
Alexander Menzhinsky
1b2967e3c2
unix: implement RFCOMM sockets on Linux
...
Add the SockaddrRFCOMM type and the ability to accept BTPROTO_L2CAP and BTPROTO_RFCOMM protocol sockets.
Fixes golang/go#22211
Change-Id: I580b526c5392b90663499af0f2ebe6f55b1f8154
Reviewed-on: https://go-review.googlesource.com/122457
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com >
2018-07-09 06:02:33 +00:00
Tobias Klauser
63fc586f45
unix: use private copy of ustat_t on Linux
...
The ustat syscall has been deprecated on Linux for a long time and the
upcoming glibc 2.28 will remove ustat.h and it can no longer be used to
to generate the Ustat_t wrapper type. Since Linux still provides the
syscall, let's not break this functionality and add a private copy of
struct ustat so Ustat_t can still be generated.
Updates golang/go#25990
Change-Id: I74cf405ce6df92da36f1ee900ab6d98997d8f994
Reviewed-on: https://go-review.googlesource.com/120295
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org >
2018-06-22 08:20:34 +00:00
Thanabodee Charoenpiriyakij
ad87a3a340
unix: check faccessat flags parameter on Linux
...
Currently Linux faccessat(2) syscall implementation doesn't support the
flags parameter. As per discuss in golang/go#25845 , permit the same flags
as glibc [1].
[1] https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/faccessat.c;h=ea42b2303ff4b2d2d6548ea04376fb265f773436;hb=HEAD
Fixes golang/go#25845
Change-Id: I390ba14b2816283399472f3572967b19d0a36042
Reviewed-on: https://go-review.googlesource.com/119495
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
2018-06-20 13:35:08 +00:00
Michael Stapelberg
56ede360ec
unix: add rtc defines and types
...
Change-Id: I280fc3b2cd3402c40f2840d152bac2fa288f48a0
Reviewed-on: https://go-review.googlesource.com/118661
Run-TryBot: Ian Lance Taylor <iant@golang.org >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
2018-06-13 17:11:35 +00:00
Tobias Klauser
d4cedef346
unix: make Nfgenmsg a type definition
...
CL 114518 introduced Nfgenmsg as a type alias which breaks the build on
Go <= 1.9. Fix it by making Nfgenmsg a type like all others in
x/sys/unix
Updates golang/go#25561
Fixes golang/go#25563
Change-Id: I9950be857e34e7e3ca79c71fced9663a0cac9b63
Reviewed-on: https://go-review.googlesource.com/114596
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org >
2018-05-25 12:34:33 +00:00
Michael Stapelberg
31355384c8
unix: add nftables defines and types
...
Change-Id: I55efe06ec81e891ec3872405ba75c7eb9ce4e635
Reviewed-on: https://go-review.googlesource.com/114518
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org >
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com >
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org >
TryBot-Result: Gobot Gobot <gobot@golang.org >
2018-05-25 06:20:15 +00:00
Tobias Klauser
7c87d13f8e
unix: add tpacket types and constants on Linux
...
Change-Id: I4f2fd8a7c899403f545d8dc73fec2ebbb0b322c0
Reviewed-on: https://go-review.googlesource.com/113035
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
2018-05-14 14:36:08 +00:00
Tobias Klauser
9950ad118b
unix: add statfs and filesystem magic constants on Linux
...
Fixes golang/go#25341
Change-Id: I79cb4c77b771e005eb27d4e495ac6a7491e2e66e
Reviewed-on: https://go-review.googlesource.com/112696
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org >
2018-05-11 13:39:06 +00:00
Matt Layher
79b0c68887
unix: add Linux block device ioctl types and constants
...
These types and constants are taken from hdreg.h, and will enable
querying and manipulation of block devices on Linux.
Fixes golang/go#24971
Change-Id: Iafe8f81ba7ab9f1e127743dab6a9fb1912874a5c
Reviewed-on: https://go-review.googlesource.com/108455
Run-TryBot: Matt Layher <mdlayher@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com >
2018-04-20 14:53:19 +00:00
Matt Layher
3ccc7e5779
unix: fix typos in linux/types.go.
...
Change-Id: I0cd02100844d7565f6fc18278ff52a8cceaacec5
Reviewed-on: https://go-review.googlesource.com/107938
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org >
2018-04-18 21:24:19 +00:00
Matt Layher
9b00609908
unix: add tcp_md5sig on Linux
...
This structure is used with setsockopt in BGP speaker implementations.
For more information, please see:
https://criticalindirection.com/2015/05/12/tcp_md5sig/ .
Fixes golang/go#24830
Change-Id: Ic2137e843ad502dbe9a4227362b63164789c5877
Reviewed-on: https://go-review.googlesource.com/106656
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org >
Run-TryBot: Brad Fitzpatrick <bradfitz@golang.org >
TryBot-Result: Gobot Gobot <gobot@golang.org >
2018-04-18 18:02:25 +00:00
Adam Sindelar
2f57af4873
unix: add wrapper around perf_event_open on Linux
...
This adds a wrapper around perf_event_open, exported constants and
two structs:
- perf_event_attr, used to configure the syscall
- perf_event_mmap_page to coordinate the kernel's mmap ring buffer
Change-Id: Ife7ded8344de9e3eb74441bd51ab9a04c81b4965
Reviewed-on: https://go-review.googlesource.com/105756
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com >
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
2018-04-16 11:22:24 +00:00
Adam Sindelar
f6f352972f
unix: add a step to mkall.go that generates ABI headers to be referenced from types.go
...
Change-Id: I3ecf7802c152b82c0d40f8b1bebcb25feda7fb13
Reviewed-on: https://go-review.googlesource.com/106315
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com >
2018-04-13 14:08:54 +00:00
Tobias Klauser
88d2dcc510
unix: add IFLA_* constants for Linux 4.15
...
Add all IFLA_* constants defined in linux/if_link.h as of Linux kernel
version 4.15.
Change-Id: Ib27205cf560f40303ca9500abe73abf833fc13a8
Reviewed-on: https://go-review.googlesource.com/96595
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org >
2018-02-23 16:57:47 +00:00
Garret Kelly
ef802241c9
unix: add sockaddr_l2 definitions
...
The sockaddr_l2 address type is used with AF_BLUETOOTH sockets using the
BTPROTO_L2CAP protocol.
Change-Id: I263cfd3bb5920a8c1187ead6c2e0527276575d9f
Reviewed-on: https://go-review.googlesource.com/89475
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com >
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
2018-01-25 08:08:17 +00:00
Tobias Klauser
fff93fa7cd
unix: add Statx on Linux
...
statx(2) allows to get enhanced file status information (not currently
available through the existing stat syscalls), lightweight stat,
heavyweight stat. The Statx_t type used by Statx has consistent field
sizes on all arches (with year-2038-capable timestamps) and is closer to
the BSD implementation of Stat_t.
See http://man7.org/linux/man-pages/man2/statx.2.html for details. The
syscall was added in Linux kernel 4.11.
See https://github.com/tklauser/statx for an example of how this
function and types can be used to report stat(1)-like file status
information.
Change-Id: I9e9642b5b42a393f94fd532453888ce9ba4f0003
Reviewed-on: https://go-review.googlesource.com/87555
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
TryBot-Result: Gobot Gobot <gobot@golang.org >
2018-01-15 08:58:44 +00:00
Matt Layher
b9cf5f96b6
unix: add cgroupstats type and constants
...
The cgroupstats structure is available via Linux's generic netlink
taskstats interface.
For more information, please see:
https://www.kernel.org/doc/Documentation/accounting/cgroupstats.txt .
Fixes golang/go#23388 .
Change-Id: I8a05a3875209e99a427d54049eacc98f415e44cf
Reviewed-on: https://go-review.googlesource.com/86975
Run-TryBot: Matt Layher <mdlayher@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com >
2018-01-09 18:07:26 +00:00
Tobias Klauser
12d9d5b281
unix: add SchedGetaffinity and SchedSetaffinity on Linux
...
SchedGetaffinity and SchedSetaffinity are used to get and set a thread's
CPU affinity mask.
See http://man7.org/linux/man-pages/man2/sched_setaffinity.2.html for
details.
Also add a manual implementation of CpuSet_t and the corresponding
accessor functions (mimicking the CPU_* macros from sched.h).
Fixes golang/go#11243
Change-Id: Ia5abc0053cd06810b3b09ab65c27434f5323c1ad
Reviewed-on: https://go-review.googlesource.com/85915
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Ian Lance Taylor <iant@golang.org >
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org >
2018-01-05 20:31:47 +00:00
Tobias Klauser
4ff8c001ce
unix: add Fstatat on Linux for all GOOSes
...
Looks like it's enough to just add wrappers pointing to the
corresponding SYS_FSTATAT{,64} or SYS_NEWFSTATAT syscall. Add a test to
verify that assumption which checks that the returned stat data matches
what is returned by Stat/Lstat.
Also add the AT_NO_AUTOMOUNT constant which may be used for the flags
parmeter.
Fixes golang/go#14216
Change-Id: I73f27b483bd97d2dcf09d4b95a7957e75d194395
Reviewed-on: https://go-review.googlesource.com/79795
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org >
2017-11-24 17:10:47 +00:00
Joe Richey joerichey@google.com
a45f55524b
unix: defer Getpagesize() to runtime
...
In general, page size is not a function of the archetecture. This was
addressed in the Go standard library here:
https://go-review.googlesource.com/25051
This change simply defers to the standard library "syscall" package,
which in turn defers to the runtime. This helps in addressing golang/go#10180 and
also fixes a bug on ppc64.
Currently, we return 65536 as the page size on ppc64, but the kernel
supports 4k and 64k sizes, see here:
http://elixir.free-electrons.com/linux/v4.13/source/arch/powerpc/include/asm/page.h#L24
Now that various page size calculations are not needed, various
components are now dead code and can also be removed. This CL reverts:
https://go-review.googlesource.com/14483
and part of:
https://go-review.googlesource.com/30755
Change-Id: I9d7a2d96359054e0dca9c985b026c8072b2eeaf3
Reviewed-on: https://go-review.googlesource.com/62111
Reviewed-by: Austin Clements <austin@google.com >
Run-TryBot: Austin Clements <austin@google.com >
TryBot-Result: Gobot Gobot <gobot@golang.org >
2017-09-07 22:11:50 +00:00
Joe Richey joerichey@google.com
31e1fafe95
unix: update Linux to v4.13 kernel and v2.26 glibc
...
This change updates the Linux symbols to correspond to v4.13 of the
kernel and v2.26 of glibc. To get everything building correctly, newer
versions of the build tools are required. Instead of trying to get an
Ubuntu 17.10 docker image working, we just add Artful sources to
/etc/apt/sources.list to get a similar effect.
Now that the kernel UAPI is updated, FS_MAX_KEY_SIZE and fscrypt_key no
longer need to be manually declared, as they are now in the proper
kernel headers.
Change-Id: I5f14c99fd70b43dbb8b44e05f53e4e9f09c9a345
Reviewed-on: https://go-review.googlesource.com/61771
Reviewed-by: Ian Lance Taylor <iant@golang.org >
2017-09-07 22:07:22 +00:00