OS/2, eCS & ArcaOS - Technical > Applications

LarsenCommander - new test version

<< < (10/11) > >>

Martin Iturbide:

--- Quote from: Andi B. on February 26, 2025, 12:21:27 pm ---Ouch, I don't have access to the source code at netlabs :-(.

--- End quote ---
It this one? https://trac.netlabs.org/openjfs/browser#branches
I can watch it without being logged on. Maybe it was the upppercase on the URL.

Regards

Andi B.:

--- Quote from: Martin Iturbide on February 26, 2025, 01:20:11 pm ---
--- Quote from: Andi B. on February 26, 2025, 12:21:27 pm ---Ouch, I don't have access to the source code at netlabs :-(.

--- End quote ---
It this one? https://trac.netlabs.org/openjfs/browser#branches
I can watch it without being logged on. Maybe it was the upppercase on the URL.

Regards

--- End quote ---

I was at the main trac page and even logged in and did not found the usual 'source code' button. Just found out netlabs has 2 jfs projects. One jfs another openjfs. I was here - https://trac.netlabs.org/jfs while correct link should be - https://trac.netlabs.org/openjfs/.

Last check in seems to were 21 years ago. Not sure how much of this old code is still in use. Thanks anyway.

Martin Iturbide:
Hi

--- Quote from: Andi B. on February 26, 2025, 01:54:30 pm ---I was at the main trac page and even logged in and did not found the usual 'source code' button. Just found out netlabs has 2 jfs projects. One jfs another openjfs. I was here - https://trac.netlabs.org/jfs while correct link should be - https://trac.netlabs.org/openjfs/.

Last check in seems to were 21 years ago. Not sure how much of this old code is still in use. Thanks anyway.

--- End quote ---

I get it now.
- OpenJFS is based in GPL code released by IBM. IBM released JFS under the GPL license to be merge with Linux.
- JFS. Is the IBM driver for OS/2 and it is evolution that is under... I have no idea.. possible under the IBM DDK license that is incompatible with open source. IBM DDK license allows you to create a freeware driver binary, but does not allow you to publicly share the source code. What can be done with this license (as an alternative) it to have a collaborative close source project with one organization (like Netlabs) taking the ownership of the changes, and every contributor should agree to the IBM DDK.

Sorry of the long license story.

Regards

Dave Yeo:
There's also https://github.com/OS2World/DRV-JFS-GPL which is the 1st IBM release of the GPL code and contains the OS/2 branch. Likely OpenJFS is based on this.

Lars:
Here is code to prove it works at least with JFS (I have all my files on JFS partitions):


--- Code: ---#define INCL_BASE
#include <os2.h>
#include <stdio.h>

#define FIL_QUERYALLEAS 4

#define BUFSIZE 1024UL * 128


int main(int argc,char *argv[])
{
   EAOP2 eaop={0};
   PFEA2 pFEA = NULL;
   ULONG oNextEntryOffset;
   APIRET rc = NO_ERROR;
   ULONG i=0;
   PUCHAR pHexValueByte = NULL;

   if (argc != 2) {
      return 1;
   } /* endif */

  rc = DosAllocMem((PPVOID)&eaop.fpFEA2List,BUFSIZE,PAG_COMMIT | PAG_READ | PAG_WRITE);

  if (NO_ERROR == rc) {
     eaop.fpFEA2List->cbList = BUFSIZE;
     rc = DosQueryPathInfo(argv[1],FIL_QUERYALLEAS,&eaop,sizeof(eaop));
     if (NO_ERROR == rc && eaop.fpFEA2List->cbList > sizeof(eaop.fpFEA2List->cbList)) {
        pFEA = eaop.fpFEA2List->list;
        do {
           oNextEntryOffset = pFEA->oNextEntryOffset;
           printf("Name:%s,Value:",pFEA->szName);
           pHexValueByte = pFEA->szName+sizeof(UCHAR)+pFEA->cbName;
           for (i=0;i<pFEA->cbValue;i++,pHexValueByte++ ) {
              printf("%.2x ",*pHexValueByte);
           } /* endfor */
           printf("\n");
           pFEA = (PFEA2)((PCHAR)pFEA + oNextEntryOffset);
        } while (oNextEntryOffset  ); /* enddo */
     } /* endif */
     rc = DosFreeMem(eaop.fpFEA2List);
  } /* endif */

  return 0;
}
--- End code ---

Pass it a filename and it will print out the EA info as hex bytes (not awfully helpful, obviously but you can crosscheck with what the WPS displays).

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version