/* turbocat2001 */
#if LANG_ENG
#define HELP "info <object_name>\n"
#define FILE_NOT_FOUND "Object '%s' not found!\n"
#define OBJECT_INFO "Object '%s' information:\n\n"
#define TYPE "Type: "
#define DIR "'Folder'"
#define PART "'Part'"
#define FILE "'File'"
#define CREATED "Created: %02d.%02d.%02d %02d:%02d:%02d\n"
#define MODIFID "Modified: %02d.%02d.%02d %02d:%02d:%02d\n"
#define DATE_TIME " Date Time\n"
#define ATTRIB "Attributes: "
#define RO "'Read only' "
#define HIDDEN "'Hidden' "
#define SYS "'System' "
#define NOT_ARCHIV "'Not archived' "
#define FILE_SIZE "\nFile size: %u KB (%u B)\n"
#elif LANG_RUS
#define HELP "info <¨¬ï_®¡ê¥ªâ >\n"
#define FILE_NOT_FOUND "¡ê¥ªâ '%s' ¥ ©¤¥!\n"
#define OBJECT_INFO "ä®à¬ æ¨ï ®¡ ®¡ê¥ªâ¥ '%s':\n\n"
#define TYPE "¨¯: "
#define DIR "' ¯ª '"
#define PART "'®¬'"
#define FILE "' ©«'"
#define CREATED "®§¤ : %02d.%02d.%02d %02d:%02d:%02d\n"
#define MODIFID "§¬¥ñ: %02d.%02d.%02d %02d:%02d:%02d\n"
#define DATE_TIME " â ६ï\n"
#define ATTRIB "âਡãâë: "
#define RO "'®«ìª® ¤«ï ç⥨ï' "
#define HIDDEN "'ªàëâë©' "
#define SYS "'¨á⥬ë©' "
#define NOT_ARCHIV "'¥ à娢ë©' "
#define FILE_SIZE "\n §¬¥à ä ©« : %u K (%u )\n"
#endif
int cmd_info(char param[])
{
byte is_dir=0, is_part=0; // Folder or part?
char* argv[100];
if(1 != parameters_prepare(param, argv)) //get number of parameters
{
return TRUE;
}
FS_struct_BDVK *info=NULL; // BDVK struct define
info=get_bdvk(argv[0]); // Get file info (BDVK)
if(info==NULL)
{
printf(FILE_NOT_FOUND
, argv
[0]);
return TRUE;
}
if (info->attrib & (1 << 4))
{
is_dir=1;
}
else if (info->attrib & (1 << 3))
{
is_part=1;
}
else
{
}
printf(DATE_TIME
); // Show date and time
printf(CREATED
, info
->c_date.
d, info
->c_date.
m, info
->c_date.
y, info
->c_time.
h, info
->c_time.
m, info
->c_time.
s);
printf(MODIFID
, info
->m_date.
d, info
->m_date.
m, info
->m_date.
y, info
->m_time.
h, info
->m_time.
m, info
->m_time.
s);
printf(ATTRIB
); // Show Attributes
if (info->attrib & (1 << 0))
{
}
if (info->attrib & (1 << 1))
{
}
if (info->attrib & (1 << 2))
{
}
if (info->attrib & (1 << 5))
{
}
if (!is_dir && (info->size)>=0 && !is_part) // If dir or part then not show file size
{
printf(FILE_SIZE
, info
->size
/1024, info
->size
);
}
return TRUE;
}