build: add the SIBO SDK
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
/*
|
||||
P_DLIST.C
|
||||
*/
|
||||
|
||||
#include <plib.h>
|
||||
|
||||
LOCAL_C TEXT *GetTypeText(UINT type)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case P_FMEDIA_FLOPPY:
|
||||
return "Floppy";
|
||||
case P_FMEDIA_HARDDISK:
|
||||
return "Hard";
|
||||
case P_FMEDIA_FLASH:
|
||||
return "Flash";
|
||||
case P_FMEDIA_RAM:
|
||||
return "RAM";
|
||||
case P_FMEDIA_ROM:
|
||||
return "ROM";
|
||||
case P_FMEDIA_WRITEPROTECTED:
|
||||
return "Protected";
|
||||
}
|
||||
return "Unknown";
|
||||
}
|
||||
|
||||
LOCAL_C VOID ListDevices(VOID)
|
||||
{
|
||||
VOID *ncb,*dcb;
|
||||
INT ret;
|
||||
TEXT device[P_FNAMESIZE];
|
||||
TEXT bb[E_MAX_ERROR_TEXT_SIZE];
|
||||
P_DINFO dinfo;
|
||||
|
||||
p_printf(" Device Name Type Size Free");
|
||||
p_printf("=========== ========== ========== ======== ========");
|
||||
p_open(&ncb,"FIL:",P_FNODE);
|
||||
while (!p_iow(ncb,P_FREAD,&device[0],NULL))
|
||||
{
|
||||
p_scat(&device[0],"a:\\");
|
||||
if (p_open(&dcb,&device[0],P_FDEVICE))
|
||||
continue;
|
||||
while (!p_read(dcb,&device[P_FSYSNAMESIZE],0))
|
||||
{
|
||||
if ((ret=p_dinfo(&device[0],&dinfo))<0)
|
||||
{
|
||||
p_errs(&bb[0],ret);
|
||||
p_printf("%- 12s %- 12s<%s>",&device[0],"**Failed**",&bb[0]);
|
||||
continue;
|
||||
}
|
||||
p_printf("%- 12s %- 12s%- 11s %7ldK %7ldK",
|
||||
&device[0],&dinfo.name[0],GetTypeText(dinfo.mediatype&0xff),
|
||||
(dinfo.size+512)>>10,(dinfo.free+512)>>10);
|
||||
}
|
||||
p_close(dcb);
|
||||
}
|
||||
p_close(ncb);
|
||||
}
|
||||
|
||||
GLDEF_C INT main(VOID)
|
||||
{
|
||||
ListDevices();
|
||||
p_getch();
|
||||
return(0);
|
||||
}
|
||||
Reference in New Issue
Block a user