mirror of https://github.com/red-prig/fpPS4.git
62 lines
828 B
Plaintext
62 lines
828 B
Plaintext
unit errno;
|
|
|
|
{$mode ObjFPC}{$H+}
|
|
{$CALLING SysV_ABI_CDecl}
|
|
|
|
interface
|
|
|
|
{$I sce_errno.inc}
|
|
{$I errno.inc}
|
|
|
|
function px2sce(e:Integer):Integer;
|
|
function sce2px(e:Integer):Integer;
|
|
|
|
function _get_errno:Integer; inline;
|
|
function _set_errno(r:Integer):Integer;
|
|
function _set_sce_errno(r:Integer):Integer;
|
|
|
|
implementation
|
|
|
|
uses
|
|
thr_error;
|
|
|
|
function px2sce(e:Integer):Integer;
|
|
begin
|
|
if (e=0) then
|
|
Result:=0
|
|
else
|
|
Result:=e-$7ffe0000;
|
|
end;
|
|
|
|
function sce2px(e:Integer):Integer;
|
|
begin
|
|
if (e=0) then
|
|
Result:=0
|
|
else
|
|
Result:=e+$7ffe0000;
|
|
end;
|
|
|
|
function _get_errno:Integer; inline;
|
|
begin
|
|
Result:=__error^;
|
|
end;
|
|
|
|
function _set_errno(r:Integer):Integer;
|
|
begin
|
|
Result:=0;
|
|
__error^:=r;
|
|
if (r<>0) then
|
|
begin
|
|
Result:=-1;
|
|
end;
|
|
end;
|
|
|
|
function _set_sce_errno(r:Integer):Integer;
|
|
begin
|
|
__error^:=sce2px(r);
|
|
Result:=r;
|
|
end;
|
|
|
|
end.
|
|
|