github.com/metacubex/gvisor@v0.0.0-20240320004321-933faba989ec/pkg/abi/linux/rusage.go (about) 1 // Copyright 2018 The gVisor Authors. 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 // 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 package linux 16 17 // Flags that may be used with wait4(2) and getrusage(2). 18 const ( 19 // wait4(2) uses this to aggregate RUSAGE_SELF and RUSAGE_CHILDREN. 20 RUSAGE_BOTH = -0x2 21 22 // getrusage(2) flags. 23 RUSAGE_CHILDREN = -0x1 24 RUSAGE_SELF = 0x0 25 RUSAGE_THREAD = 0x1 26 ) 27 28 // Rusage represents the Linux struct rusage. 29 // 30 // +marshal 31 type Rusage struct { 32 UTime Timeval 33 STime Timeval 34 MaxRSS int64 35 IXRSS int64 36 IDRSS int64 37 ISRSS int64 38 MinFlt int64 39 MajFlt int64 40 NSwap int64 41 InBlock int64 42 OuBlock int64 43 MsgSnd int64 44 MsgRcv int64 45 NSignals int64 46 NVCSw int64 47 NIvCSw int64 48 }