Commit Graph

203 Commits

Author SHA1 Message Date
Aubr.Cool 7caabd2b7a mv device ctl cmd macros from serial.h to rtdef.h 2015-03-26 08:40:36 +08:00
Bernard Xiong 204298c1b2 Update rtdef.h 2015-02-02 13:22:38 +08:00
pangweishen 675fa48281 modified the comments of block device geometry structure, to tell everyone the unit of block_size is byte. 2014-11-04 10:16:54 +08:00
bernard ceaf9cd3fa Add WEAK definition; Add AUTO Refresh option for block device. 2014-06-26 14:47:31 +08:00
Bernard Xiong 40b7eba446 [Kernel] Change the version number to 2.0.0. 2014-03-29 14:59:02 +08:00
bernard e601c2a6ed Add sector size check when mounting a FAT file system. 2014-01-26 20:30:37 +08:00
Bernard Xiong 97508eb48e Merge pull request #228 from prife/kernel
kernel: rearrange the header file include order
2014-01-11 03:58:10 -08:00
prife 86cdc22043 kernel: rearrange the header file include order
There are some CONFIG OPTIONS in rtdebug.h, which may influence the
rtdef.h, so rtdebug.h should be head of the rtdef.h
2014-01-11 16:50:53 +08:00
bernard 31446eab4c [Kernel] application module can support arguments 2014-01-11 16:33:31 +08:00
bernard e393b8fcfa fix the FINSH_USING_SYMTAB not defined and compiling error issue 2014-01-04 06:03:24 +08:00
bernard a5ba2a24f7 add file and path name auto completion for module shell 2014-01-01 21:45:09 +08:00
Bernard Xiong 3eac58ce8e Merge pull request #173 from grissiom/new-timer
kernel: use skip list to implement timer list
2013-10-17 15:44:20 -07:00
Grissiom d59aa279c3 kernel: use skip list to implement timer list
Skip list is a "random" data structure that in high possibilities it
would get O(log(N)) time complexity in inserting while the old list get
O(N). Forthermore, when set RT_TIMER_SKIP_LIST_LEVEL to 1, it will just
the same as the old double linked list, both in time and space
complexity.

Benchmarks shows that when RT_TIMER_SKIP_LIST_LEVEL is 3, the average
time of random insertion of new timer is about 2 times faster than the
old timer when there are 100 timers and 3 times faster when there are
200 timers.

However, it restores the deprecated funcion rt_system_timer_init. BSPs
must invoke it upon system startup.
2013-10-12 22:48:29 +08:00
bernard f1107f6714 add BGR565 definition 2013-10-10 00:22:11 +09:00
Grissiom 6e676e7754 dev/portal: implement portal device
Portal is a device that connect devices. Currently, you can only connect
pipes in portal. Pipes are unidirectional. But with portal, you can
construct a bidirectional device with two pipes.
2013-08-20 12:54:43 +08:00
Grissiom 7e68096a88 dev/pipe: make pipe a type of device
Pipe have many differences with char device. The main difference is
altough pipe have both read and write, it is unidirectional in nature.
2013-08-20 10:16:55 +08:00
bernard a124e7bd22 add initialization debug code 2013-07-24 07:33:48 +08:00
bernard b96b35613f add mount table 2013-07-22 07:46:10 +08:00
Bernard Xiong 493930ea07 Merge pull request #118 from BernardXiong/master
Remove initialization feature for MS VC++ compiler.
2013-07-09 13:56:51 -07:00
Grissiom 7bcce9e87f device: add ref_count support
This is a simple work around to the current device stack design. A
ref_count could let different modules to open/close the same device
independently without interfere others in some degree.

But there is still some data shared between the modules, like flag,
open_flag and user_data. Moreover, it won't yield an error if A open a
device, and B read from it before open it in B. Maybe alloc a new handle
in rt_device_open will be the ultimate solution. But that is much bigger
change and we may leave it to future development.
2013-07-09 15:44:55 +08:00
Bernard Xiong 8c0d4d2ad8 fix the spelling wrong 2013-07-05 19:36:57 -04:00
Bernard Xiong ca56dce2a3 remove initialization feature for MS VC++ compiler 2013-07-05 19:32:16 -04:00
Grissiom 9f62f03f11 rm48x50: restore missing include for __TI_COMPILER_VERSION__ 2013-07-01 22:03:58 +08:00
yiyue.fang cf0db957f2 reformat the coding style in rtdef.h
convert the Tabs to Spaces
2013-06-29 11:41:20 +08:00
Bernard Xiong 79392bb082 Embedded GPLv2 license. 2013-06-24 17:06:09 +08:00
Bernard Xiong 98c8a23e94 Add component initialization. 2013-06-23 07:48:42 +08:00
Bernard Xiong c5927f51b3 Merge branch 'master' of https://github.com/RT-Thread/rt-thread 2013-06-23 07:40:32 +08:00
Bernard Xiong f837ea41b1 Add component initialization define in rtdef.h 2013-06-23 07:40:23 +08:00
Grissiom 85822f22b7 rtdef.h: get back the codes that removed accidentally by d80a471 2013-06-03 22:23:17 +08:00
Bernard Xiong d80a471680 Fix the memheap_realloc issue 2013-06-03 06:44:35 +08:00
Grissiom 9237433030 add TI CCS support micros in rtdef.h 2013-05-29 23:36:10 +08:00
Grissiom f51bce3fed add rm48x50 bsp and libcpu
We currently only support building with CCS and SCons is not using.
bsp/rm48x50/HALCoGen/HALCoGen.{hcg,dil} is the HALCoGen project file.
You may need to regenerate the source file as you like, providing that:

    1, IRQ is in Dispatch Mode and the table entry is IRQ_Handler. The
    channel 5 in enabled and connected to IRQ.

    2, RTI driver is enabled and compare3 source is selected to counter1
    and the compare3 will generate tick in the period of 10ms. This
    value is coresponding with RT_TICK_PER_SECOND in rtconfig.h.

In CCS, you need to create a new CCS project and create link folders
pointing at bsp/rm48x50, libcpu/arm/rm48x50 and src/, include/. Remember
to add the include path to the Build Properties.
2013-05-24 22:55:13 +08:00
Bernard Xiong 4afdf44da2 add RT_KERNEL_MALLOC/FREE 2013-04-25 14:22:07 +08:00
Bernard Xiong 47d8dc67c0 change version number 2013-01-09 11:00:32 +08:00
dzzxzz@gmail.com d5531c6054 fixed the coding style in rtdef.h
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2566 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-30 14:14:40 +00:00
bernard.xiong@gmail.com 850d544bdc add more control command for graphic.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2560 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-30 06:37:30 +00:00
bernard.xiong@gmail.com 975610477e Add RT_USING_MEMHEAP_AS_HEAP feature: system can use "heap" memheap as system default memory heap.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2554 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-29 12:29:03 +00:00
dzzxzz@gmail.com b2da13707b fixed the coding style
convert the tabs to spaces
convert the file format to unix style

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2483 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-14 08:59:22 +00:00
goprife@gmail.com 977afc4f67 add RT_DEVICE_CTRL_BLK_ERASE and struct rt_device_blk_sectors in rtdef.h
please see this commit with revision 2478

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2482 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-14 06:34:25 +00:00
bernard.xiong@gmail.com df249c467d change RT_NULL from ((void*)0) to 0.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2422 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-11-16 14:54:31 +00:00
sc943313837@gmail.com c49700184f add RTC control command
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2377 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-10-29 02:02:41 +00:00
dzzxzz@gmail.com 409dd3801f convert TABs to Spaces in rtdef.h
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2367 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-10-23 02:34:53 +00:00
bernard.xiong@gmail.com f4d768ec56 Add mutex lock in memheap object.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2366 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-10-22 23:27:04 +00:00
dzzxzz@gmail.com 14e5b39b4c change the comment style in rtdef.h
it will be used by doxygen

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2333 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-10-10 03:14:52 +00:00
bernard.xiong@gmail.com 2114b73b4b Add _MSC_VER compiler checking; Add DEVICE_CTRL_BLK_SYNC flag.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2315 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-10-05 08:44:10 +00:00
dzzxzz@gmail.com 095b0ae5c0 re-format the coding style in rtdef.h
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2280 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-09-07 08:06:02 +00:00
dzzxzz@gmail.com 25a5353e66 fixed spelling error
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2175 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-06-18 12:21:03 +00:00
bernard.xiong@gmail.com d228266e65 Remove I2C device and add PM pseudo device.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2171 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-06-18 03:11:40 +00:00
bernard.xiong@gmail.com 3ad6f43ff3 Added VisualDSP++ Compiler support.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2137 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-05-30 06:50:06 +00:00
luohui2320@gmail.com f29989094c ADD I2C BUS device type
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2130 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-05-22 18:10:03 +00:00
dzzxzz@gmail.com 1641c9db4f add memory heap object in module
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2113 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-05-07 06:23:30 +00:00
bernard.xiong@gmail.com 87195cf84e Added memory heap object implementation; Added RT_LIST_OBJECT_INIT macro.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2046 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-04-14 03:52:56 +00:00
qiuyiuestc@gmail.com 407f922a5b fix module unload issue
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2001 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-03-18 04:26:22 +00:00
dzzxzz 12b5e56f46 unify the coding style of kernel
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1998 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-03-17 06:43:49 +00:00
bernard.xiong@gmail.com 5d2d94eb3d add RTTHREAD_VERSION definition.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1965 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-02-18 15:03:21 +00:00
goprife@gmail.com 4f72d1cba1 remove some warning in jffs2, and fix armcc compile error when using scons
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1929 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-01-31 01:29:22 +00:00
bernard.xiong@gmail.com 18888679cd add alignment memory allocation.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1928 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-01-30 12:22:57 +00:00
bernard.xiong@gmail.com 6b31d549c7 cleanup some comments.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1898 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-12-31 08:58:40 +00:00
bernard.xiong@gmail.com bcf0bd361b fix a spell issue.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1896 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-12-31 07:04:05 +00:00
dzzxzz 86c5646fc0 change the version from 0.4.0 to 1.0.0
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1893 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-12-31 06:22:46 +00:00
bernard.xiong@gmail.com f6f81eb0ce Add more device type.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1835 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-12-11 15:14:25 +00:00
dzzxzz 7926109356 cleanup kernel code
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1722 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-09-23 05:57:31 +00:00
qiuyiuestc@gmail.com cea21370a4 rewrite module memory allocator
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1618 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-07-04 23:48:07 +00:00
bernard.xiong@gmail.com ee68988518 change the RT_DEBUG_NOT_REENT to RT_DEBUG_NOT_IN_INTERRUPT.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1503 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-06-14 23:59:42 +00:00
mbbill@gmail.com 864bd11802 Add reentrance check. Put kernel debug switch together.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1494 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-06-12 10:01:48 +00:00
mbbill@gmail.com 252bc41a2c add a blocking mailbox post function
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1471 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-06-08 16:40:07 +00:00
bernard.xiong@gmail.com 64517f05c5 update graphic driver interface.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1465 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-06-08 15:40:24 +00:00
bernard.xiong@gmail.com a714392b70 update graphic driver interface.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1464 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-06-08 15:23:03 +00:00
bernard.xiong@gmail.com 54f422ebb4 add more device definition.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1457 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-06-06 03:51:18 +00:00
bernard.xiong@gmail.com 6e88bffff9 add graphic device.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1456 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-06-06 03:47:56 +00:00
bernard.xiong 43a6a907da use builtin va_arg in GCC 4.x
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1400 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-05-09 02:50:01 +00:00
dzzxzz ca52080ade change "inline" to "static inline" for IAR compiler
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1319 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-03-08 08:51:42 +00:00
bernard.xiong@gmail.com 7a80d831c9 update doxygen comments.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1132 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-11-29 00:04:55 +00:00
qiuyiuestc 56c6c301bc clean up code
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1106 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-11-24 01:27:45 +00:00
qiuyiuestc 5a8d5a56cb update module
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1097 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-11-23 01:20:20 +00:00
qiuyiuestc c7f8c325af module update for extension
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1086 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-11-22 01:24:37 +00:00
qiuyiuestc d240423d74 construct module symbol table
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1053 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-11-17 16:17:07 +00:00
bernard.xiong 7018ab0661 add cleanup callback function on thread exit; add IPC object reset command.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1043 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-11-12 10:16:33 +00:00
qiuyiuestc 644c879a4c add rt_module_realloc implement
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1037 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-11-01 01:03:50 +00:00
qiuyiuestc fb7d4122fc implement module memory allocator
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1030 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-10-28 01:21:47 +00:00
jiaojinxing1987@gmail.com c1798b7585 struct rt_thread 的 stack_size 改回 rt_uint16_t 类
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@998 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-10-04 07:55:24 +00:00
jiaojinxing1987@gmail.com e7211af8a7 git-svn-id: https://rt-thread.googlecode.com/svn/trunk@994 bbd45198-f89e-11dd-88c7-29a3b14d5316 2010-10-02 14:02:43 +00:00
qiuyiuestc 1c590cf5d9 module update
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@947 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-09-25 15:30:42 +00:00
qiuyiuestc 878d1b3636 update module
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@933 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-09-23 11:10:17 +00:00
qiuyiuestc ae53558a6b fix rt_device_blk_geometry compile error
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@796 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-07-17 09:37:46 +00:00
bernard.xiong 214e44c3f9 fix down alignment issue; fix the maximal number of rt_scheduler_lock_nest issue; fix rt_tick_from_millisecond issue.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@790 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-07-13 07:36:37 +00:00
bernard.xiong 5900cc0c73 change the ALIGN definition for IAR compiler.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@780 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-06-29 09:08:07 +00:00
qiuyiuestc 8b8dba661f module developing
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@742 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-05-29 14:19:56 +00:00
bernard.xiong@gmail.com 0eaf2098b8 fix the timer check bug.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@730 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-05-22 23:26:08 +00:00
bernard.xiong@gmail.com b34d10449f change some field's type in RT-Thread RTOS definitions.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@729 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-05-22 15:02:04 +00:00
qiuyiuestc b87f6d562b module developing
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@666 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-04-23 14:23:23 +00:00
bernard.xiong 5195a7fb79 change version number
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@622 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-04-15 01:41:10 +00:00
bernard.xiong 23ea4f1b74 add __ICCM16C__ compiler support.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@621 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-04-14 00:40:20 +00:00
bernard.xiong 9294a611f5 add LPC11xx Cortex-M0 porting.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@583 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-04-06 10:00:28 +00:00
mbbill b8653e766f FIX: If we place a return statement after RT_ASSERT we will get a warning: "statement is unreachable" in debug mode. This fix removed this warning.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@487 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-03-14 15:11:35 +00:00
gary.li.wenchao.4 26e8c8c1ab remove maximun value of base type
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@427 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-02-20 09:22:43 +00:00
bernard.xiong 1e67026b13 add sound device definition.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@334 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-01-25 00:01:27 +00:00
mbbill f8f7a5f510 FIX: Removed suspend_thread_count.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@317 bbd45198-f89e-11dd-88c7-29a3b14d5316
2010-01-19 03:17:37 +00:00
lijin.unix 8c8aa4418b add soft timer.other's platform maybe compiled err,pls add some macro definition in rtconfig.h. ( RT_TIMER_THREAD_STACK_SIZE RT_TIMER_THREAD_PRIO RT_TIMER_EX_TICKS_PER_SEC)
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@215 bbd45198-f89e-11dd-88c7-29a3b14d5316
2009-12-22 15:06:27 +00:00
bernard.xiong ff705032d8 change semaphore and mutex value to unsigned value
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@84 bbd45198-f89e-11dd-88c7-29a3b14d5316
2009-10-09 23:58:46 +00:00
bernard.xiong 8e76594241 convert dos endline to unix endline; cleanup schedule code for STM32
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@49 bbd45198-f89e-11dd-88c7-29a3b14d5316
2009-09-20 23:43:51 +00:00
bernard.xiong 4bd258ce7b remove fast event
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@46 bbd45198-f89e-11dd-88c7-29a3b14d5316
2009-09-13 23:34:52 +00:00
bernard.xiong bda4730a94 import RT-Thread RTOS 0.3.x to Google SVN
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2 bbd45198-f89e-11dd-88c7-29a3b14d5316
2009-07-02 22:48:23 +00:00