@@ -1508,3 +1508,85 @@ type ConsoleScreenBufferInfo struct {
1508
1508
}
1509
1509
1510
1510
const UNIX_PATH_MAX = 108 // defined in afunix.h
1511
+
1512
+ const (
1513
+ // flags for JOBOBJECT_BASIC_LIMIT_INFORMATION.LimitFlags
1514
+ JOB_OBJECT_LIMIT_ACTIVE_PROCESS = 0x00000008
1515
+ JOB_OBJECT_LIMIT_AFFINITY = 0x00000010
1516
+ JOB_OBJECT_LIMIT_BREAKAWAY_OK = 0x00000800
1517
+ JOB_OBJECT_LIMIT_DIE_ON_UNHANDLED_EXCEPTION = 0x00000400
1518
+ JOB_OBJECT_LIMIT_JOB_MEMORY = 0x00000200
1519
+ JOB_OBJECT_LIMIT_JOB_TIME = 0x00000004
1520
+ JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE = 0x00002000
1521
+ JOB_OBJECT_LIMIT_PRESERVE_JOB_TIME = 0x00000040
1522
+ JOB_OBJECT_LIMIT_PRIORITY_CLASS = 0x00000020
1523
+ JOB_OBJECT_LIMIT_PROCESS_MEMORY = 0x00000100
1524
+ JOB_OBJECT_LIMIT_PROCESS_TIME = 0x00000002
1525
+ JOB_OBJECT_LIMIT_SCHEDULING_CLASS = 0x00000080
1526
+ JOB_OBJECT_LIMIT_SILENT_BREAKAWAY_OK = 0x00001000
1527
+ JOB_OBJECT_LIMIT_SUBSET_AFFINITY = 0x00004000
1528
+ JOB_OBJECT_LIMIT_WORKINGSET = 0x00000001
1529
+ )
1530
+
1531
+ type JOBOBJECT_BASIC_LIMIT_INFORMATION struct {
1532
+ PerProcessUserTimeLimit int64
1533
+ PerJobUserTimeLimit int64
1534
+ LimitFlags uint32
1535
+ MinimumWorkingSetSize uintptr
1536
+ MaximumWorkingSetSize uintptr
1537
+ ActiveProcessLimit uint32
1538
+ Affinity uintptr
1539
+ PriorityClass uint32
1540
+ SchedulingClass uint32
1541
+ }
1542
+
1543
+ type IO_COUNTERS struct {
1544
+ ReadOperationCount uint64
1545
+ WriteOperationCount uint64
1546
+ OtherOperationCount uint64
1547
+ ReadTransferCount uint64
1548
+ WriteTransferCount uint64
1549
+ OtherTransferCount uint64
1550
+ }
1551
+
1552
+ type JOBOBJECT_EXTENDED_LIMIT_INFORMATION struct {
1553
+ BasicLimitInformation JOBOBJECT_BASIC_LIMIT_INFORMATION
1554
+ IoInfo IO_COUNTERS
1555
+ ProcessMemoryLimit uintptr
1556
+ JobMemoryLimit uintptr
1557
+ PeakProcessMemoryUsed uintptr
1558
+ PeakJobMemoryUsed uintptr
1559
+ }
1560
+
1561
+ const (
1562
+ // UIRestrictionsClass
1563
+ JOB_OBJECT_UILIMIT_DESKTOP = 0x00000040
1564
+ JOB_OBJECT_UILIMIT_DISPLAYSETTINGS = 0x00000010
1565
+ JOB_OBJECT_UILIMIT_EXITWINDOWS = 0x00000080
1566
+ JOB_OBJECT_UILIMIT_GLOBALATOMS = 0x00000020
1567
+ JOB_OBJECT_UILIMIT_HANDLES = 0x00000001
1568
+ JOB_OBJECT_UILIMIT_READCLIPBOARD = 0x00000002
1569
+ JOB_OBJECT_UILIMIT_SYSTEMPARAMETERS = 0x00000008
1570
+ JOB_OBJECT_UILIMIT_WRITECLIPBOARD = 0x00000004
1571
+ )
1572
+
1573
+ type JOBOBJECT_BASIC_UI_RESTRICTIONS struct {
1574
+ UIRestrictionsClass uint32
1575
+ }
1576
+
1577
+ const (
1578
+ // JobObjectInformationClass
1579
+ JobObjectAssociateCompletionPortInformation = 7
1580
+ JobObjectBasicLimitInformation = 2
1581
+ JobObjectBasicUIRestrictions = 4
1582
+ JobObjectCpuRateControlInformation = 15
1583
+ JobObjectEndOfJobTimeInformation = 6
1584
+ JobObjectExtendedLimitInformation = 9
1585
+ JobObjectGroupInformation = 11
1586
+ JobObjectGroupInformationEx = 14
1587
+ JobObjectLimitViolationInformation2 = 35
1588
+ JobObjectNetRateControlInformation = 32
1589
+ JobObjectNotificationLimitInformation = 12
1590
+ JobObjectNotificationLimitInformation2 = 34
1591
+ JobObjectSecurityLimitInformation = 5
1592
+ )
0 commit comments