mirror of
https://github.com/rwinkhart/sys.git
synced 2026-09-03 15:47:35 -04:00
unix: add linux constants and types for PPS devices ioctl's
After trying to implement Pulse Per Second devices in go, I found that the ioctl values and structs where not in the unix package yet: ~# strace ppstest /dev/pps0 |& grep ioctl ioctl(3, PPS_GETPARAMS, 0xbee63b18) = 0 ioctl(3, PPS_GETCAP, 0xbee63b84) = 0 ioctl(3, PPS_GETPARAMS, 0xbee63b18) = 0 ioctl(3, PPS_SETPARAMS, 0xbee63b18) = 0 ioctl(3, PPS_FETCH, 0xbee63b00) = 0 ioctl(3, PPS_FETCH, 0xbee63b00) = 0 ioctl(3, PPS_FETCH, 0xbee63b00) = 0 ioctl(3, PPS_FETCH, 0xbee63b00) = 0 ioctl(3, PPS_FETCH, 0xbee63b00) = 0 This commit should add them. Change-Id: If1225ab7c4c38aad5d8ae841d1fdebfa45055549 GitHub-Last-Rev: c1469112b8d73d711d3038a2a0fec19e83690486 GitHub-Pull-Request: golang/sys#90 Reviewed-on: https://go-review.googlesource.com/c/sys/+/265217 Trust: Tobias Klauser <tobias.klauser@gmail.com> Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Tobias Klauser <tobias.klauser@gmail.com> Reviewed-by: Matt Layher <mdlayher@gmail.com>
This commit is contained in:
committed by
Tobias Klauser
parent
9d1ec526b7
commit
0fcbb8f492
@@ -113,6 +113,7 @@ struct termios2 {
|
|||||||
#include <linux/nexthop.h>
|
#include <linux/nexthop.h>
|
||||||
#include <linux/openat2.h>
|
#include <linux/openat2.h>
|
||||||
#include <linux/perf_event.h>
|
#include <linux/perf_event.h>
|
||||||
|
#include <linux/pps.h>
|
||||||
#include <linux/random.h>
|
#include <linux/random.h>
|
||||||
#include <linux/rtc.h>
|
#include <linux/rtc.h>
|
||||||
#include <linux/rtnetlink.h>
|
#include <linux/rtnetlink.h>
|
||||||
@@ -2576,3 +2577,20 @@ const (
|
|||||||
// Watchdog API
|
// Watchdog API
|
||||||
|
|
||||||
type WatchdogInfo C.struct_watchdog_info
|
type WatchdogInfo C.struct_watchdog_info
|
||||||
|
|
||||||
|
// PPS API
|
||||||
|
|
||||||
|
type PPSFData C.struct_pps_fdata
|
||||||
|
|
||||||
|
type PPSKParams C.struct_pps_kparams
|
||||||
|
|
||||||
|
type PPSKInfo C.struct_pps_kinfo
|
||||||
|
|
||||||
|
type PPSKTime C.struct_pps_ktime
|
||||||
|
|
||||||
|
const (
|
||||||
|
PPS_GETPARAMS = C.PPS_GETPARAMS
|
||||||
|
PPS_SETPARAMS = C.PPS_SETPARAMS
|
||||||
|
PPS_GETCAP = C.PPS_GETCAP
|
||||||
|
PPS_FETCH = C.PPS_FETCH
|
||||||
|
)
|
||||||
|
|||||||
@@ -233,6 +233,7 @@ struct ltchars {
|
|||||||
#include <linux/net_namespace.h>
|
#include <linux/net_namespace.h>
|
||||||
#include <linux/nsfs.h>
|
#include <linux/nsfs.h>
|
||||||
#include <linux/perf_event.h>
|
#include <linux/perf_event.h>
|
||||||
|
#include <linux/pps.h>
|
||||||
#include <linux/ptrace.h>
|
#include <linux/ptrace.h>
|
||||||
#include <linux/random.h>
|
#include <linux/random.h>
|
||||||
#include <linux/reboot.h>
|
#include <linux/reboot.h>
|
||||||
|
|||||||
@@ -2638,3 +2638,21 @@ type WatchdogInfo struct {
|
|||||||
Version uint32
|
Version uint32
|
||||||
Identity [32]uint8
|
Identity [32]uint8
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type PPSFData struct {
|
||||||
|
Info PPSKInfo
|
||||||
|
Timeout PPSKTime
|
||||||
|
}
|
||||||
|
|
||||||
|
type PPSKParams struct {
|
||||||
|
Api_version int32
|
||||||
|
Mode int32
|
||||||
|
Assert_off_tu PPSKTime
|
||||||
|
Clear_off_tu PPSKTime
|
||||||
|
}
|
||||||
|
|
||||||
|
type PPSKTime struct {
|
||||||
|
Sec int64
|
||||||
|
Nsec int32
|
||||||
|
Flags uint32
|
||||||
|
}
|
||||||
|
|||||||
@@ -602,3 +602,18 @@ type TIPCSIOCNodeIDReq struct {
|
|||||||
Peer uint32
|
Peer uint32
|
||||||
Id [16]int8
|
Id [16]int8
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type PPSKInfo struct {
|
||||||
|
Assert_sequence uint32
|
||||||
|
Clear_sequence uint32
|
||||||
|
Assert_tu PPSKTime
|
||||||
|
Clear_tu PPSKTime
|
||||||
|
Current_mode int32
|
||||||
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
PPS_GETPARAMS = 0x800470a1
|
||||||
|
PPS_SETPARAMS = 0x400470a2
|
||||||
|
PPS_GETCAP = 0x800470a3
|
||||||
|
PPS_FETCH = 0xc00470a4
|
||||||
|
)
|
||||||
|
|||||||
@@ -619,3 +619,19 @@ type TIPCSIOCNodeIDReq struct {
|
|||||||
Peer uint32
|
Peer uint32
|
||||||
Id [16]int8
|
Id [16]int8
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type PPSKInfo struct {
|
||||||
|
Assert_sequence uint32
|
||||||
|
Clear_sequence uint32
|
||||||
|
Assert_tu PPSKTime
|
||||||
|
Clear_tu PPSKTime
|
||||||
|
Current_mode int32
|
||||||
|
_ [4]byte
|
||||||
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
PPS_GETPARAMS = 0x800870a1
|
||||||
|
PPS_SETPARAMS = 0x400870a2
|
||||||
|
PPS_GETCAP = 0x800870a3
|
||||||
|
PPS_FETCH = 0xc00870a4
|
||||||
|
)
|
||||||
|
|||||||
@@ -596,3 +596,19 @@ type TIPCSIOCNodeIDReq struct {
|
|||||||
Peer uint32
|
Peer uint32
|
||||||
Id [16]uint8
|
Id [16]uint8
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type PPSKInfo struct {
|
||||||
|
Assert_sequence uint32
|
||||||
|
Clear_sequence uint32
|
||||||
|
Assert_tu PPSKTime
|
||||||
|
Clear_tu PPSKTime
|
||||||
|
Current_mode int32
|
||||||
|
_ [4]byte
|
||||||
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
PPS_GETPARAMS = 0x800470a1
|
||||||
|
PPS_SETPARAMS = 0x400470a2
|
||||||
|
PPS_GETCAP = 0x800470a3
|
||||||
|
PPS_FETCH = 0xc00470a4
|
||||||
|
)
|
||||||
|
|||||||
@@ -598,3 +598,19 @@ type TIPCSIOCNodeIDReq struct {
|
|||||||
Peer uint32
|
Peer uint32
|
||||||
Id [16]int8
|
Id [16]int8
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type PPSKInfo struct {
|
||||||
|
Assert_sequence uint32
|
||||||
|
Clear_sequence uint32
|
||||||
|
Assert_tu PPSKTime
|
||||||
|
Clear_tu PPSKTime
|
||||||
|
Current_mode int32
|
||||||
|
_ [4]byte
|
||||||
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
PPS_GETPARAMS = 0x800870a1
|
||||||
|
PPS_SETPARAMS = 0x400870a2
|
||||||
|
PPS_GETCAP = 0x800870a3
|
||||||
|
PPS_FETCH = 0xc00870a4
|
||||||
|
)
|
||||||
|
|||||||
@@ -602,3 +602,19 @@ type TIPCSIOCNodeIDReq struct {
|
|||||||
Peer uint32
|
Peer uint32
|
||||||
Id [16]int8
|
Id [16]int8
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type PPSKInfo struct {
|
||||||
|
Assert_sequence uint32
|
||||||
|
Clear_sequence uint32
|
||||||
|
Assert_tu PPSKTime
|
||||||
|
Clear_tu PPSKTime
|
||||||
|
Current_mode int32
|
||||||
|
_ [4]byte
|
||||||
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
PPS_GETPARAMS = 0x400470a1
|
||||||
|
PPS_SETPARAMS = 0x800470a2
|
||||||
|
PPS_GETCAP = 0x400470a3
|
||||||
|
PPS_FETCH = 0xc00470a4
|
||||||
|
)
|
||||||
|
|||||||
@@ -601,3 +601,19 @@ type TIPCSIOCNodeIDReq struct {
|
|||||||
Peer uint32
|
Peer uint32
|
||||||
Id [16]int8
|
Id [16]int8
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type PPSKInfo struct {
|
||||||
|
Assert_sequence uint32
|
||||||
|
Clear_sequence uint32
|
||||||
|
Assert_tu PPSKTime
|
||||||
|
Clear_tu PPSKTime
|
||||||
|
Current_mode int32
|
||||||
|
_ [4]byte
|
||||||
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
PPS_GETPARAMS = 0x400870a1
|
||||||
|
PPS_SETPARAMS = 0x800870a2
|
||||||
|
PPS_GETCAP = 0x400870a3
|
||||||
|
PPS_FETCH = 0xc00870a4
|
||||||
|
)
|
||||||
|
|||||||
@@ -601,3 +601,19 @@ type TIPCSIOCNodeIDReq struct {
|
|||||||
Peer uint32
|
Peer uint32
|
||||||
Id [16]int8
|
Id [16]int8
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type PPSKInfo struct {
|
||||||
|
Assert_sequence uint32
|
||||||
|
Clear_sequence uint32
|
||||||
|
Assert_tu PPSKTime
|
||||||
|
Clear_tu PPSKTime
|
||||||
|
Current_mode int32
|
||||||
|
_ [4]byte
|
||||||
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
PPS_GETPARAMS = 0x400870a1
|
||||||
|
PPS_SETPARAMS = 0x800870a2
|
||||||
|
PPS_GETCAP = 0x400870a3
|
||||||
|
PPS_FETCH = 0xc00870a4
|
||||||
|
)
|
||||||
|
|||||||
@@ -602,3 +602,19 @@ type TIPCSIOCNodeIDReq struct {
|
|||||||
Peer uint32
|
Peer uint32
|
||||||
Id [16]int8
|
Id [16]int8
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type PPSKInfo struct {
|
||||||
|
Assert_sequence uint32
|
||||||
|
Clear_sequence uint32
|
||||||
|
Assert_tu PPSKTime
|
||||||
|
Clear_tu PPSKTime
|
||||||
|
Current_mode int32
|
||||||
|
_ [4]byte
|
||||||
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
PPS_GETPARAMS = 0x400470a1
|
||||||
|
PPS_SETPARAMS = 0x800470a2
|
||||||
|
PPS_GETCAP = 0x400470a3
|
||||||
|
PPS_FETCH = 0xc00470a4
|
||||||
|
)
|
||||||
|
|||||||
@@ -608,3 +608,19 @@ type TIPCSIOCNodeIDReq struct {
|
|||||||
Peer uint32
|
Peer uint32
|
||||||
Id [16]uint8
|
Id [16]uint8
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type PPSKInfo struct {
|
||||||
|
Assert_sequence uint32
|
||||||
|
Clear_sequence uint32
|
||||||
|
Assert_tu PPSKTime
|
||||||
|
Clear_tu PPSKTime
|
||||||
|
Current_mode int32
|
||||||
|
_ [4]byte
|
||||||
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
PPS_GETPARAMS = 0x400870a1
|
||||||
|
PPS_SETPARAMS = 0x800870a2
|
||||||
|
PPS_GETCAP = 0x400870a3
|
||||||
|
PPS_FETCH = 0xc00870a4
|
||||||
|
)
|
||||||
|
|||||||
@@ -608,3 +608,19 @@ type TIPCSIOCNodeIDReq struct {
|
|||||||
Peer uint32
|
Peer uint32
|
||||||
Id [16]uint8
|
Id [16]uint8
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type PPSKInfo struct {
|
||||||
|
Assert_sequence uint32
|
||||||
|
Clear_sequence uint32
|
||||||
|
Assert_tu PPSKTime
|
||||||
|
Clear_tu PPSKTime
|
||||||
|
Current_mode int32
|
||||||
|
_ [4]byte
|
||||||
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
PPS_GETPARAMS = 0x400870a1
|
||||||
|
PPS_SETPARAMS = 0x800870a2
|
||||||
|
PPS_GETCAP = 0x400870a3
|
||||||
|
PPS_FETCH = 0xc00870a4
|
||||||
|
)
|
||||||
|
|||||||
@@ -626,3 +626,19 @@ type TIPCSIOCNodeIDReq struct {
|
|||||||
Peer uint32
|
Peer uint32
|
||||||
Id [16]uint8
|
Id [16]uint8
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type PPSKInfo struct {
|
||||||
|
Assert_sequence uint32
|
||||||
|
Clear_sequence uint32
|
||||||
|
Assert_tu PPSKTime
|
||||||
|
Clear_tu PPSKTime
|
||||||
|
Current_mode int32
|
||||||
|
_ [4]byte
|
||||||
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
PPS_GETPARAMS = 0x800870a1
|
||||||
|
PPS_SETPARAMS = 0x400870a2
|
||||||
|
PPS_GETCAP = 0x800870a3
|
||||||
|
PPS_FETCH = 0xc00870a4
|
||||||
|
)
|
||||||
|
|||||||
@@ -622,3 +622,19 @@ type TIPCSIOCNodeIDReq struct {
|
|||||||
Peer uint32
|
Peer uint32
|
||||||
Id [16]int8
|
Id [16]int8
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type PPSKInfo struct {
|
||||||
|
Assert_sequence uint32
|
||||||
|
Clear_sequence uint32
|
||||||
|
Assert_tu PPSKTime
|
||||||
|
Clear_tu PPSKTime
|
||||||
|
Current_mode int32
|
||||||
|
_ [4]byte
|
||||||
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
PPS_GETPARAMS = 0x800870a1
|
||||||
|
PPS_SETPARAMS = 0x400870a2
|
||||||
|
PPS_GETCAP = 0x800870a3
|
||||||
|
PPS_FETCH = 0xc00870a4
|
||||||
|
)
|
||||||
|
|||||||
@@ -603,3 +603,19 @@ type TIPCSIOCNodeIDReq struct {
|
|||||||
Peer uint32
|
Peer uint32
|
||||||
Id [16]int8
|
Id [16]int8
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type PPSKInfo struct {
|
||||||
|
Assert_sequence uint32
|
||||||
|
Clear_sequence uint32
|
||||||
|
Assert_tu PPSKTime
|
||||||
|
Clear_tu PPSKTime
|
||||||
|
Current_mode int32
|
||||||
|
_ [4]byte
|
||||||
|
}
|
||||||
|
|
||||||
|
const (
|
||||||
|
PPS_GETPARAMS = 0x400870a1
|
||||||
|
PPS_SETPARAMS = 0x800870a2
|
||||||
|
PPS_GETCAP = 0x400870a3
|
||||||
|
PPS_FETCH = 0xc00870a4
|
||||||
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user