mirror of https://github.com/FDOS/kernel.git
build fixes - update inthndlr.c to compile with LFNAPI enabled (more fixes from earlier oops, lfnapi.c still doesn't compile)
This commit is contained in:
parent
74e9d4afd7
commit
b7bcef73a1
|
@ -1565,7 +1565,7 @@ dispatch:
|
||||||
case 0x56:
|
case 0x56:
|
||||||
/* Win95 LFN - canonicalize file name/path */
|
/* Win95 LFN - canonicalize file name/path */
|
||||||
case 0x60: {
|
case 0x60: {
|
||||||
switch (lr->CL)
|
switch (lr.CL)
|
||||||
{
|
{
|
||||||
/* truename - canonicalize path, accepts short/long/or combination as input and may return combined short/long name */
|
/* truename - canonicalize path, accepts short/long/or combination as input and may return combined short/long name */
|
||||||
case 0x00: {
|
case 0x00: {
|
||||||
|
@ -1609,12 +1609,12 @@ lfn_findclose:
|
||||||
sft FAR *s;
|
sft FAR *s;
|
||||||
unsigned char idx;
|
unsigned char idx;
|
||||||
|
|
||||||
if (r->BX >= psp->ps_maxfiles)
|
if (lr.BX >= psp->ps_maxfiles)
|
||||||
{
|
{
|
||||||
rc = DE_INVLDHNDL;
|
rc = DE_INVLDHNDL;
|
||||||
goto error_exit;
|
goto error_exit;
|
||||||
}
|
}
|
||||||
idx = psp->ps_filetab[r->BX];
|
idx = psp->ps_filetab[lr.BX];
|
||||||
s = idx_to_sft(idx);
|
s = idx_to_sft(idx);
|
||||||
if (s == (sft FAR *)-1)
|
if (s == (sft FAR *)-1)
|
||||||
{
|
{
|
||||||
|
@ -1647,7 +1647,7 @@ lfn_findclose:
|
||||||
/* Win95 LFN - Win95 64 UTC file time to/from DOS date and time (local timezone) */
|
/* Win95 LFN - Win95 64 UTC file time to/from DOS date and time (local timezone) */
|
||||||
case 0xa7: {
|
case 0xa7: {
|
||||||
/* Note: valid input range limited to Jan 1, 1980 to Dec 31, 2107 */
|
/* Note: valid input range limited to Jan 1, 1980 to Dec 31, 2107 */
|
||||||
switch (lr->BL)
|
switch (lr.BL)
|
||||||
{
|
{
|
||||||
/* from Win95 UTC to DOS date/time */
|
/* from Win95 UTC to DOS date/time */
|
||||||
case 0x00: {
|
case 0x00: {
|
||||||
|
@ -1699,7 +1699,7 @@ lfn_findclose:
|
||||||
break;
|
break;
|
||||||
/* Setup LFN inode */
|
/* Setup LFN inode */
|
||||||
case 0x03:
|
case 0x03:
|
||||||
rc = lfn_setup_inode(lr.BX, ((ULONG)lr.CX << 16) | lr.DX, ((ULONG)lr.SI << 16) | lr.DI);
|
rc = lfn_setup_inode(lr.BX, MK_ULONG(lr.CX, lr.DX), MK_ULONG(lr.SI,lr.DI));
|
||||||
break;
|
break;
|
||||||
/* Create LFN entries */
|
/* Create LFN entries */
|
||||||
case 0x04:
|
case 0x04:
|
||||||
|
|
|
@ -47,7 +47,7 @@ arg nr, {rp,%1}
|
||||||
mov ax, [.nr] ; interrupt number
|
mov ax, [.nr] ; interrupt number
|
||||||
mov [cs:%%intr_1-1], al
|
mov [cs:%%intr_1-1], al
|
||||||
jmp short %%intr_2 ; flush the instruction cache
|
jmp short %%intr_2 ; flush the instruction cache
|
||||||
%%intr_2
|
%%intr_2:
|
||||||
%if %1 == 4
|
%if %1 == 4
|
||||||
lds bx, [.rp] ; regpack structure FAR
|
lds bx, [.rp] ; regpack structure FAR
|
||||||
%else
|
%else
|
||||||
|
|
|
@ -105,7 +105,7 @@ COUNT lfn_free_inode(COUNT handle)
|
||||||
* Return value.
|
* Return value.
|
||||||
* SUCCESS, LHE_INVLDHNDL
|
* SUCCESS, LHE_INVLDHNDL
|
||||||
*/
|
*/
|
||||||
COUNT lfn_setup_inode(COUNT handle, ULONG dirstart, UWORD diroff)
|
COUNT lfn_setup_inode(COUNT handle, ULONG dirstart, ULONG diroff)
|
||||||
{
|
{
|
||||||
f_node_ptr fnp = xlt_fd(handle);
|
f_node_ptr fnp = xlt_fd(handle);
|
||||||
if (fnp == 0 || fnp->f_count <= 0) return LHE_INVLDHNDL;
|
if (fnp == 0 || fnp->f_count <= 0) return LHE_INVLDHNDL;
|
||||||
|
|
|
@ -250,7 +250,7 @@ VOID mcb_print(mcb FAR * mcbp);
|
||||||
COUNT lfn_allocate_inode(VOID);
|
COUNT lfn_allocate_inode(VOID);
|
||||||
COUNT lfn_free_inode(COUNT handle);
|
COUNT lfn_free_inode(COUNT handle);
|
||||||
|
|
||||||
COUNT lfn_setup_inode(COUNT handle, ULONG dirstart, UWORD diroff);
|
COUNT lfn_setup_inode(COUNT handle, ULONG dirstart, ULONG diroff);
|
||||||
|
|
||||||
COUNT lfn_create_entries(COUNT handle, lfn_inode_ptr lip);
|
COUNT lfn_create_entries(COUNT handle, lfn_inode_ptr lip);
|
||||||
COUNT lfn_remove_entries(COUNT handle);
|
COUNT lfn_remove_entries(COUNT handle);
|
||||||
|
|
Loading…
Reference in New Issue