# # ps2mc_dir.py # # By Ross Ridge # Public Domain # """Functions for working with PS2 memory card directory entries.""" _SCCS_ID = "@(#) mysc ps2mc_dir.py 1.4 12/10/04 19:11:08\n" import struct import time import calendar PS2MC_DIRENT_LENGTH = 512 DF_READ = 0x0001 DF_WRITE = 0x0002 DF_EXECUTE = 0x0004 DF_RWX = DF_READ | DF_WRITE | DF_EXECUTE DF_PROTECTED = 0x0008 DF_FILE = 0x0010 DF_DIR = 0x0020 DF_O_DCREAT = 0x0040 DF_0080 = 0x0080 DF_0100 = 0x0100 DF_O_CREAT = 0x0200 DF_0400 = 0x0400 DF_POCKETSTN = 0x0800 DF_PSX = 0x1000 DF_HIDDEN = 0x2000 DF_4000 = 0x4000 DF_EXISTS = 0x8000 def zero_terminate(s): """Truncate a string at the first NUL ('\0') character, if any.""" i = s.find('\0') if i == -1: return s return s[:i] # mode, ???, length, created, # fat_cluster, parent_entry, modified, attr, # name _dirent_fmt = "