type NetProtocolStats … type NetProtocolStatLine … type NetProtocolCapabilities … // NetProtocols reads stats from /proc/net/protocols and returns a map of // PortocolStatLine entries. As of this writing no official Linux Documentation // exists, however the source is fairly self-explanatory and the format seems // stable since its introduction in 2.6.12-rc2 // Linux 2.6.12-rc2 - https://elixir.bootlin.com/linux/v2.6.12-rc2/source/net/core/sock.c#L1452 // Linux 5.10 - https://elixir.bootlin.com/linux/v5.10.4/source/net/core/sock.c#L3586 func (fs FS) NetProtocols() (NetProtocolStats, error) { … } func parseNetProtocols(s *bufio.Scanner) (NetProtocolStats, error) { … } func (ps NetProtocolStats) parseLine(rawLine string) (*NetProtocolStatLine, error) { … } func (pc *NetProtocolCapabilities) parseCapabilities(capabilities []string) error { … }