annotate direct/python/examples.py @ 298:2cb3c22ed0a0

Add some python examples
author charles <charles>
date Tue, 13 Oct 2009 01:28:21 +0000
parents
children acc06403a0bc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
298
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
1 from yaffsfs import *
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
2
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
3 def yaffs_ls(dname):
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
4 if dname[-1] != "/": dname = dname + "/"
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
5 dc = yaffs_opendir(dname)
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
6 if dc != 0 :
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
7 sep = yaffs_readdir(dc)
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
8 while bool(sep):
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
9 se = sep.contents
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
10 fullname = dname + se.d_name
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
11 #print fullname, " ", se.d_ino," ",ord(se.d_type)
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
12 st = yaffs_stat_struct()
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
13 result = yaffs_stat(fullname,byref(st))
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
14 perms = st.st_mode & 0777
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
15 isFile = True if st.st_mode & 0x8000 else False
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
16 isDir = True if st.st_mode & 0x4000 else False
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
17
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
18 if isFile :
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
19 print "File ",se.d_ino, hex(perms), st.st_size, fullname
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
20 if isDir :
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
21 print "Dir ",se.d_ino, hex(perms), fullname
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
22 yaffs_ls(fullname)
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
23
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
24 sep = yaffs_readdir(dc)
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
25 else:
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
26 print "Could not open directory"
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
27 return -1
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
28
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
29
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
30 root = "/yaffs2"
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
31
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
32 yaffs_StartUp()
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
33 yaffs_mount(root)
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
34
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
35 yaffs_mkdir(root+"/dd",0666)
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
36
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
37 yaffs_open(root+"/dd/111",66,0666)
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
38
2cb3c22ed0a0 Add some python examples
charles <charles>
parents:
diff changeset
39 yaffs_ls(root)