summaryrefslogtreecommitdiff
path: root/fpcsrc/packages/libc/src/bwaitflags.inc
blob: 0e8d38e19af94461a7047909d42597541159cd4a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
function WEXITSTATUS(Status: Integer): Integer;
begin
  Result := (Status and $FF00) shr 8;
end;

function WTERMSIG(Status: Integer): Integer;
begin
  Result := (Status and $7F);
end;

function WSTOPSIG(Status: Integer): Integer;
begin
  Result := WEXITSTATUS(Status);
end;

function WIFEXITED(Status: Integer): Boolean;
begin
  Result := (WTERMSIG(Status) = 0);
end;

function WIFSIGNALED(Status: Integer): Boolean;
begin
  Result := (not WIFSTOPPED(Status)) and (not WIFEXITED(Status));
end;

function WIFSTOPPED(Status: Integer): Boolean;
begin
  Result := ((Status and $FF) = $7F);
end;

function WCOREDUMP(Status: Integer): Boolean;
begin
  Result := ((Status and WCOREFLAG) <> 0);
end;

function W_EXITCODE(ReturnCode, Signal: Integer): Integer;
begin
  Result := (ReturnCode shl 8) or Signal;
end;

function W_STOPCODE(Signal: Integer): Integer;
begin
  Result := (Signal shl 8) or $7F;
end;