TIP: Click on subject to list as thread! ANSI
echo: arj
to: ROBERT JUNG
from: JOE NEGRON
date: 1997-03-22 11:34:00
subject: ARJ/2

** Quoting Robert Jung to Roland Roberts:
RR> [...] Not to mention at least one home user who would like to see
  > an OS/2 version.
JD> The DOS version of ARJ works in an OS/2 DOS box anyways..
RR> But doesn't support long filenames or extended attributes.  
RJ> I am working on a DOS version that handles the extended attributes
  > via an undocumented DOS function interface (used in UC2 and other
  > archivers).  I plan to insert the EA data in the file header in the
  > unused extended header field. The first version will have
  > uncompressed EA data.
Why uncompressed?
RJ> Now if someone could point out a DOS function to get the long
  > filenames via the DOS box, I will add that function JUST LIKE
  > I added Win95 long filename support.
From Ralf Brown's Interrupt List (INTER53[A-G].ZIP):
================================ Begin =================================
--------O-215702-----------------------------
INT 21 - OS/2 v1.1+ Family API - DosQFileInfo
	AX = 5702h
	BX = file handle
	CX = size of buffer for information
	DX = level of information
	    0001h standard file information (see #1012)
	    0002h Query EA Size (see #1012)
	    0003h Query EAs from List (see #1013)
	    0004h Query All EAs (see #1013)
	ES:DI -> buffer for information (see #1012,#1013)
Return: CF clear if successful
	CF set on error
	    AX = error code
SeeAlso: AX=5702h/BX=FFFFh,AX=5703h"OS/2",AH=6Dh"OS/2"
Format of OS/2 DosQFileInfo:
Offset	Size	Description	(Table 1012)
 00h	WORD	creation date
 02h	WORD	creation time
 04h	WORD	last access date
 06h	WORD	last access time
 08h	WORD	last write date
 0Ah	WORD	last write time
 0Ch	DWORD	file size in bytes
 10h	DWORD	allocated space in bytes
 14h	WORD	file attributes
---level 2 only---
 16h	DWORD	size of Extended Attributes in byte
SeeAlso: #1013,#1016
Format of OS/2 DosQFileInfo, EAOP structure:
Offset	Size	Description	(Table 1013)
 00h	DWORD	pointer to general EA list (see #1014)
 04h	DWORD	pointer to buffer for full EA list, with length field set
 08h	DWORD	(ret) error
Note:   for info level 3, the first pointer must contain the address of
          a list of the Extended Attributes to be retrieved; for info
          level 4, it should be 0000h:0000h
SeeAlso: #1012,#1016
Format of OS/2 DosQFileInfo, General EA List:
Offset	Size	Description	(Table 1014)
 00h    DWORD   (call) total size of list in bytes (including this
                field)
                (ret) number of bytes actually used (including this
                field)
 04h	var	Extended Attribute entries (see #1015) [packed arrray]
Format of OS/2 DosQFileInfo, General EA entry:
Offset	Size	Description	(Table 1015)
 00h    BYTE    length of Extended Attribute name (excluding terminating
                NUL)
 01h  N BYTEs	EA name
	BYTE	00h
SeeAlso: #1014
Format of OS/2 DosQFileInfo, Full EA List:
Offset	Size	Description	(Table 1016)
 00h    DWORD   (call) total size of list in bytes (including this
                field)
                (ret) number of bytes actually used (including this
                field)
 04h	var	Extended Attribute data (see #1017) [packed array]
SeeAlso: #1012,#1013
Format of OS/2 Extended Attribute data (struct FEA):
Offset	Size	Description	(Table 1017)
 00h	BYTE	flags
		bit 7: critical EA
 01h    BYTE    length of Extended Attribute name (excluding terminating
                NUL)
 02h	WORD	length of Extended Attribute value
 04h  N BYTEs	EA name
        BYTE    00h
      M BYTEs	EA value
--------O-215702BXFFFF-----------------------
INT 21 - OS/2 v1.1+ Compatibility Box Family API - DosQPathInfo
	AX = 5702h
	BX = FFFFh
	CX = size of buffer for information
	DX = level of information (0002h)
	DS:SI -> filename
	ES:DI -> buffer for FAPI path information (see #1018)
Return: CF clear if successful
	    AL = 00h
	CF set on error
	    AX = error code
SeeAlso: AX=5702h"OS/2",AX=5703h/BX=FFFFh
Format of FAPI path information:
Offset	Size	Description	(Table 1018)
 00h 22 BYTEs	???
 16h	DWORD	extended attribute size (none present if less than 5)
--------O-215703-----------------------------
INT 21 - OS/2 v1.1+ Family API - DosSetFileInfo
	AX = 5703h
	BX = file handle
	CX = size of information buffer
	DX = level of information
	ES:DI -> information buffer
Return: CF clear if successful
	CF set on error
	    AX = error code
SeeAlso: AX=5702h"OS/2",AX=5703h/BX=FFFFh
--------O-215703BXFFFF-----------------------
INT 21 - OS/2 v1.1+ Family API - DosSetPathInfo
	AX = 5703h
	BX = FFFFh
	CX = size of information buffer
	DX = level of information
	DS:SI -> filename
	ES:DI -> information buffer
Return: CF clear if successful
	CF set on error
	    AX = error code
SeeAlso: AX=5702h/BX=FFFFh,AX=5703h"OS/2"
================================= End ==================================
Also, there are programmers on Fido's OS2PROG who can help.
RJ> BTW, someone did contribute the EA interface to me.
You're welcome.
            --From Bay Ridge, Brooklyn, NY, Sat, 03-22-97--
                     --Internet: jnegron@ibm.net--
--- QScan/PCB v1.19b / 01-0154
---------------
* Origin: MicroLink BBS * Dinuba, CA 209-591-8753 (1:214/80)

SOURCE: echomail via exec-pc

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.