Mercurial > yaffs-ecoscentric-gpl
view direct/python/README.txt @ 351:c640f5d8f33e
Add remount and forced unmount to yaffs direct
| author | charles <charles> |
|---|---|
| date | Tue, 16 Feb 2010 23:24:57 +0000 |
| parents | 84b985d09f3c |
| children |
line wrap: on
line source
Using python with yaffsfs ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Herewith a brief session showing yaffs direct being accessed from python. I tried SWIG first, but ctypes turned out to be way, way easier... Thanks to the people on NZPUG mailing list that helped with the exercise. Build libyaffsfs.so with the accompanying Makefile. $ make libyaffsfs.so $ python Python 2.6.2 (release26-maint, Apr 19 2009, 01:56:41) [GCC 4.3.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> from yaffsfs import * >>> yaffs_StartUp() 0 >>> yaffs_mount("/yaffs2") yaffs: Mounting /yaffs2 yaffs: yaffs_GutsInitialise() yaffs_ScanBackwards starts intstartblk 1 intendblk 256... 0 blocks to be sorted... ...done yaffs_ScanBackwards ends Block summary 0 blocks have illegal states Unknown 0 blocks Needs scanning 0 blocks Scanning 0 blocks Empty 256 blocks Allocating 0 blocks Full 0 blocks Dirty 0 blocks Checkpoint 0 blocks Collecting 0 blocks Dead 0 blocks yaffs: yaffs_GutsInitialise() done. 0 >>> yaffs_open("/yaffs2/xx",66,0666) yaffs: Tnodes added Allocated block 1, seq 4097, 255 left 0 >>> yaffs_write(0,"abcdefg",5) 5 >>> b = create_string_buffer("",100) >>> yaffs_lseek(0,0,0) 0 >>> yaffs_read(0,b,100) 5 >>> print b.value abcde
