RCS file: header.h,v
Working file: header.h
head: 1.9
branch:
locks: strict
root: 1.9
access list:
symbolic names:
keyword substitution: kv
total revisions: 9; selected revisions: 9
description:
This is the base header file for our Character Device Driver.
Included init.h and module.h
Gave the License information.
----------------------------
revision 1.9 locked by: root;
date: 2014/11/25 10:52:56; author: root; state: Exp; lines: +15 -0
defined macros
QUANTUM_SIZE, QSET_SIZE< DEVICE_SIZE and DATA_SIZE
----------------------------
revision 1.8
date: 2014/11/25 10:42:41; author: root; state: Exp; lines: +3 -2
Included moduleparam.h
----------------------------
revision 1.7
date: 2014/11/25 10:22:55; author: root; state: Exp; lines: +2 -2
*** empty log message ***
----------------------------
revision 1.6
date: 2014/11/25 10:21:41; author: root; state: Exp; lines: +4 -0
*** empty log message ***
----------------------------
revision 1.5
date: 2014/11/25 10:16:06; author: root; state: Exp; lines: +1 -0
Included slab.h
----------------------------
revision 1.4
date: 2014/11/25 09:33:05; author: root; state: Exp; lines: +9 -0
Defined macros
MINORNO and NOD
----------------------------
revision 1.3
date: 2014/11/22 11:28:33; author: root; state: Exp; lines: +1 -0
Included fs.h
----------------------------
revision 1.2
date: 2014/11/22 11:25:15; author: root; state: Exp; lines: +15 -3
Aded the macros MAJORNO and DEVNAME.
----------------------------
revision 1.1
date: 2014/11/22 11:05:17; author: root; state: Exp;
Initial revision
RCS file: declerations.h,v
Working file: declerations.h
head: 1.7
branch:
locks: strict
root: 1.7
access list:
symbolic names:
keyword substitution: kv
total revisions: 7; selected revisions: 7
description:
This header file contains all the declerations and prototypes.
----------------------------
revision 1.7 locked by: root;
date: 2014/11/25 10:53:28; author: root; state: Exp; lines: +5 -0
initilalized device scull specific variables to their defaule values.
----------------------------
revision 1.6
date: 2014/11/25 10:13:22; author: root; state: Exp; lines: +11 -0
declared the device specific data structure for memory mappinh.
----------------------------
revision 1.5
date: 2014/11/25 09:51:32; author: root; state: Exp; lines: +1 -1
*** empty log message ***
----------------------------
revision 1.4
date: 2014/11/25 09:50:19; author: root; state: Exp; lines: +1 -1
declared variable new_dev.
----------------------------
revision 1.3
date: 2014/11/25 09:33:27; author: root; state: Exp; lines: +2 -2
declared variables minorno and nod.
removed the decleration for file_operations
----------------------------
revision 1.2
date: 2014/11/22 11:27:15; author: root; state: Exp; lines: +1 -1
GAve the prototype for declerations()
declared majorno and file_operations
----------------------------
revision 1.1
date: 2014/11/22 11:25:37; author: root; state: Exp;
Initial revision
RCS file: init.c,v
Working file: init.c
head: 1.14
branch:
locks: strict
root: 1.14
access list:
symbolic names:
keyword substitution: kv
total revisions: 14; selected revisions: 14
description:
Identified the initialization() using module_init() micro.
printed a statement in kernel IO buffer.
----------------------------
revision 1.14 locked by: root;
date: 2014/11/25 10:55:09; author: root; state: Exp; lines: +1 -0
defined device scull specific variables.
----------------------------
revision 1.13
date: 2014/11/25 10:54:27; author: root; state: Exp; lines: +1 -1
*** empty log message ***
----------------------------
revision 1.12
date: 2014/11/25 10:53:49; author: root; state: Exp; lines: +6 -2
*** empty log message ***
----------------------------
revision 1.11
date: 2014/11/25 10:43:39; author: root; state: Exp; lines: +1 -1
*** empty log message ***
----------------------------
revision 1.10
date: 2014/11/25 10:42:53; author: root; state: Exp; lines: +6 -1
Acceptingmodule parameters into nod using macro module_paramj()
----------------------------
revision 1.9
date: 2014/11/25 10:22:24; author: root; state: Exp; lines: +1 -1
defined new_dev.
----------------------------
revision 1.8
date: 2014/11/25 10:21:43; author: root; state: Exp; lines: +22 -0
*** empty log message ***
----------------------------
revision 1.7
date: 2014/11/25 10:13:45; author: root; state: Exp; lines: +8 -1
Allocating memory for devce using kmalloc()
----------------------------
revision 1.6
date: 2014/11/25 09:50:41; author: root; state: Exp; lines: +20 -5
using register_chrdev_region() for chcking the re registration attemp for our driver.
----------------------------
revision 1.5
date: 2014/11/25 09:38:52; author: root; state: Exp; lines: +7 -3
fetching the majorno and the minorno from the dev_t type variable using
macros: MAJORNO and MINORNO.
----------------------------
revision 1.4
date: 2014/11/25 09:35:36; author: root; state: Exp; lines: +1 -1
*** empty log message ***
----------------------------
revision 1.3
date: 2014/11/25 09:33:50; author: root; state: Exp; lines: +5 -3
Registring the driver using alloc_chedev_region()
----------------------------
revision 1.2
date: 2014/11/22 11:25:37; author: root; state: Exp; lines: +22 -0
Registering the driver using register_chrdev.
----------------------------
revision 1.1
date: 2014/11/22 11:05:17; author: root; state: Exp;
Initial revision
=============================================================================
RCS file: init.c,v
Working file: init.c
head: 1.14
branch:
locks: strict
root: 1.14
access list:
symbolic names:
keyword substitution: kv
total revisions: 14; selected revisions: 14
description:
Identified the initialization() using module_init() micro.
printed a statement in kernel IO buffer.
----------------------------
revision 1.14 locked by: root;
date: 2014/11/25 10:55:09; author: root; state: Exp; lines: +1 -0
defined device scull specific variables.
----------------------------
revision 1.13
date: 2014/11/25 10:54:27; author: root; state: Exp; lines: +1 -1
*** empty log message ***
----------------------------
revision 1.12
date: 2014/11/25 10:53:49; author: root; state: Exp; lines: +6 -2
*** empty log message ***
----------------------------
revision 1.11
date: 2014/11/25 10:43:39; author: root; state: Exp; lines: +1 -1
*** empty log message ***
----------------------------
revision 1.10
date: 2014/11/25 10:42:53; author: root; state: Exp; lines: +6 -1
Acceptingmodule parameters into nod using macro module_paramj()
----------------------------
revision 1.9
date: 2014/11/25 10:22:24; author: root; state: Exp; lines: +1 -1
defined new_dev.
----------------------------
revision 1.8
date: 2014/11/25 10:21:43; author: root; state: Exp; lines: +22 -0
*** empty log message ***
----------------------------
revision 1.7
date: 2014/11/25 10:13:45; author: root; state: Exp; lines: +8 -1
Allocating memory for devce using kmalloc()
----------------------------
revision 1.6
date: 2014/11/25 09:50:41; author: root; state: Exp; lines: +20 -5
using register_chrdev_region() for chcking the re registration attemp for our driver.
----------------------------
revision 1.5
date: 2014/11/25 09:38:52; author: root; state: Exp; lines: +7 -3
fetching the majorno and the minorno from the dev_t type variable using
macros: MAJORNO and MINORNO.
----------------------------
revision 1.4
date: 2014/11/25 09:35:36; author: root; state: Exp; lines: +1 -1
*** empty log message ***
----------------------------
revision 1.3
date: 2014/11/25 09:33:50; author: root; state: Exp; lines: +5 -3
Registring the driver using alloc_chedev_region()
----------------------------
revision 1.2
date: 2014/11/22 11:25:37; author: root; state: Exp; lines: +22 -0
Registering the driver using register_chrdev.
----------------------------
revision 1.1
date: 2014/11/22 11:05:17; author: root; state: Exp;
Initial revision
=============================================================================
RCS file: exit.c,v
Working file: exit.c
head: 1.5
branch:
locks: strict
root: 1.5
access list:
symbolic names:
keyword substitution: kv
total revisions: 5; selected revisions: 5
description:
This is the cleanup fulction.
identified using module_exit().
----------------------------
revision 1.5 locked by: root;
date: 2014/11/25 10:21:44; author: root; state: Exp; lines: +8 -0
*** empty log message ***
----------------------------
revision 1.4
date: 2014/11/25 10:13:59; author: root; state: Exp; lines: +1 -0
freeing memory using kfree().
----------------------------
revision 1.3
date: 2014/11/25 09:34:12; author: root; state: Exp; lines: +1 -1
Unregister using unregister_chedev_region()
----------------------------
revision 1.2
date: 2014/11/22 11:30:10; author: root; state: Exp; lines: +2 -0
Unregistering the device driver using unregister_chrdev().
----------------------------
revision 1.1
date: 2014/11/22 11:05:17; author: root; state: Exp;
Initial revision
=============================================================================
RCS file: ./header.h,v
Working file: ./header.h
head: 1.2
branch:
locks: strict
root: 1.2
access list:
symbolic names:
keyword substitution: kv
total revisions: 2; selected revisions: 2
description:
this is the header file for character driver
in this file i include kernel header files
included linux/kernel.h
included linux/init.h
included linux/fs.h
----------------------------
revision 1.2 locked by: root;
date: 2014/11/25 17:33:53; author: root; state: Exp; lines: +2 -0
include file linux/kdev_t.h
----------------------------
revision 1.1
date: 2014/11/25 06:17:14; author: root; state: Exp;
Initial revision
=============================================================================
RCS file: ./declaration.h,v
Working file: ./declaration.h
head: 1.3
branch:
locks: strict
root: 1.3
access list:
symbolic names:
keyword substitution: kv
total revisions: 3; selected revisions: 3
description:
this is the file in which all the declaration for kernel module is made
included file linux/module.h
declare license name
declare author namee
give description for the module
----------------------------
revision 1.3 locked by: root;
date: 2014/11/25 17:33:53; author: root; state: Exp; lines: +1 -4
declared variable minor_no of type int
----------------------------
revision 1.2
date: 2014/11/25 17:20:57; author: root; state: Exp; lines: +1 -0
declared extern variable dev of type dev_t
----------------------------
revision 1.1
date: 2014/11/25 06:17:14; author: root; state: Exp;
Initial revision
=============================================================================
RCS file: ./init.c,v
Working file: ./init.c
head: 1.4
branch:
locks: strict
root: 1.4
access list:
symbolic names:
keyword substitution: kv
total revisions: 4; selected revisions: 4
description:
this is the file which exicuted after inserting module to the kernel
resistering the module using register_chrdev()
get the major number for module
----------------------------
revision 1.4 locked by: root;
date: 2014/11/25 17:33:53; author: root; state: Exp; lines: +4 -3
get major and minor number from the var dev of type dev_t using macros MAJOR() and MINOR()
----------------------------
revision 1.3
date: 2014/11/25 17:20:57; author: root; state: Exp; lines: +7 -5
remove the use of register_chrdev function for registering device into the kernel
register driver into the kerrnel using alloc_chrdev_region()
declared variable dev of type dev_t
----------------------------
revision 1.2
date: 2014/11/25 06:24:41; author: root; state: Exp; lines: +2 -2
change priority for printing messages in ring buffer for kernel
----------------------------
revision 1.1
date: 2014/11/25 06:17:14; author: root; state: Exp;
Initial revision
=============================================================================
RCS file: ./exit_fun.c,v
Working file: ./exit_fun.c
head: 1.6
branch:
locks: strict
root: 1.6
access list:
symbolic names:
keyword substitution: kv
total revisions: 6; selected revisions: 6
description:
this file executes after rmmod
unregister module using unregister_chrdev
define cleanup function
----------------------------
revision 1.6 locked by: root;
date: 2014/11/25 17:33:53; author: root; state: Exp; lines: +1 -1
print major and minor number into the kernel buffer
----------------------------
revision 1.5
date: 2014/11/25 17:27:25; author: root; state: Exp; lines: +1 -1
remove error
----------------------------
revision 1.4
date: 2014/11/25 17:20:57; author: root; state: Exp; lines: +2 -2
remove the use of unregister_chrdev() for unregisterning driver from the kernel
unregister driver from the kernel using unregister_chrdev_region()
----------------------------
revision 1.3
date: 2014/11/25 06:24:41; author: root; state: Exp; lines: +1 -1
change priority for printing messages in ring buffer for kernel
----------------------------
revision 1.2
date: 2014/11/25 06:23:16; author: root; state: Exp; lines: +1 -0
give message to the kernel for unregistering the module
----------------------------
revision 1.1
date: 2014/11/25 06:17:14; author: root; state: Exp;
Initial revision
=============================================================================
RCS file: RCS/header.h,v
Working file: header.h
head: 1.9
branch:
locks: strict
root: 1.9
access list:
symbolic names:
keyword substitution: kv
total revisions: 9; selected revisions: 9
description:
This is the base header file for our Project Character Device Driver
'
Included header linux/kernel.h
Included header linux/module.h
implemented Macros MODULE_LICENSE and MODULE_AUTHOR
defined macros MAJORNO and DEVNAME
defined macro DEBUG
----------------------------
revision 1.9 locked by: root;
date: 2014/11/30 09:44:19; author: root; state: Exp; lines: +1 -0
included header linux/cdev.h
----------------------------
revision 1.8
date: 2014/11/29 06:11:43; author: root; state: Exp; lines: +1 -1
slab.h corrected to linux/slab.h
----------------------------
revision 1.7
date: 2014/11/29 05:59:49; author: root; state: Exp; lines: +1 -0
included headerfile slab.h
----------------------------
revision 1.6
date: 2014/11/28 03:58:27; author: root; state: Exp; lines: +1 -1
the expansion of macro COUNT was updated
----------------------------
revision 1.5
date: 2014/11/28 03:32:38; author: root; state: Exp; lines: +1 -0
included header linux/kdev_t.h
----------------------------
revision 1.4
date: 2014/11/28 01:30:48; author: root; state: Exp; lines: +1 -0
included header moduleparam.h
----------------------------
revision 1.3
date: 2014/11/27 09:39:22; author: root; state: Exp; lines: +2 -1
defined macro MINORNO and COUNT
----------------------------
revision 1.2
date: 2014/11/27 08:01:36; author: root; state: Exp; lines: +2 -1
included header linux/init.h
included header file linux/fs.h
----------------------------
revision 1.1
date: 2014/11/27 06:11:01; author: root; state: Exp;
Initial revision
=============================================================================
RCS file: RCS/declaration.h,v
Working file: declaration.h
head: 1.12
branch:
locks: strict
root: 1.12
access list:
symbolic names:
keyword substitution: kv
total revisions: 12; selected revisions: 12
description:
This is the header file which contains all the declarations and prototypes
'
extern majorno declared
----------------------------
revision 1.12 locked by: root;
date: 2014/12/02 01:06:35; author: root; state: Exp; lines: +6 -0
declared prototypes for open_dev and release_dev routines
----------------------------
revision 1.11
date: 2014/12/01 15:39:06; author: root; state: Exp; lines: +1 -1
nod declared as extern
----------------------------
revision 1.10
date: 2014/11/30 09:39:47; author: root; state: Exp; lines: +9 -0
c_dev declared
----------------------------
revision 1.9
date: 2014/11/29 06:00:27; author: root; state: Exp; lines: +15 -0
struct scullQset and struct sculldev declared
structure pointer sculldev declared with type struct sculldev
----------------------------
revision 1.8
date: 2014/11/28 01:58:17; author: root; state: Exp; lines: +1 -1
*** empty log message ***
----------------------------
revision 1.7
date: 2014/11/28 01:56:58; author: root; state: Exp; lines: +1 -1
*** empty log message ***
----------------------------
revision 1.6
date: 2014/11/28 01:38:23; author: root; state: Exp; lines: +1 -1
removed variable nod because no need to decalre it
----------------------------
revision 1.5
date: 2014/11/28 01:31:25; author: root; state: Exp; lines: +1 -1
declared extern variable nod which will bw module parameter
----------------------------
revision 1.4
date: 2014/11/27 10:34:43; author: root; state: Exp; lines: +1 -1
defined minorno
----------------------------
revision 1.3
date: 2014/11/27 10:20:45; author: root; state: Exp; lines: +1 -1
declared minorno
----------------------------
revision 1.2
date: 2014/11/27 09:40:52; author: root; state: Exp; lines: +1 -0
<!--<br /> @page { margin: 0.79in }
PRE.cjk { font-family: "WenQuanYi Zen Hei", monospace }
P { margin-bottom: 0.08declared variable dev
----------------------------
revision 1.1
date: 2014/11/27 06:14:01; author: root; state: Exp;
Initial revision
=============================================================================
RCS file: RCS/init.c,v
Working file: init.c
head: 1.32
branch:
locks: strict
root: 1.32
access list:
symbolic names:
keyword substitution: kv
total revisions: 32; selected revisions: 32
description:
This is the Initialization program for device module
'
defined initialization function
Registering the driver using register_chrdev
initialized module using module_init
----------------------------
revision 1.32 locked by: root;
date: 2014/12/01 18:42:59; author: root; state: Exp; lines: +2 -2
checking
----------------------------
revision 1.31
date: 2014/12/01 18:30:16; author: root; state: Exp; lines: +1 -1
checking
----------------------------
revision 1.30
date: 2014/12/01 18:28:15; author: root; state: Exp; lines: +1 -1
cheking
----------------------------
revision 1.29
date: 2014/12/01 18:06:40; author: root; state: Exp; lines: +2 -2
corrected
----------------------------
revision 1.28
date: 2014/12/01 18:03:22; author: root; state: Exp; lines: +4 -4
corrected
----------------------------
revision 1.27
date: 2014/12/01 17:54:55; author: root; state: Exp; lines: +47 -17
included header file_opr.h
implemented cdev_init and cdev_add
----------------------------
revision 1.26
date: 2014/12/01 15:57:13; author: root; state: Exp; lines: +5 -19
removed register_chrdev_region
COUNT is changed to nod
----------------------------
revision 1.25
date: 2014/12/01 15:40:56; author: root; state: Exp; lines: +1 -1
the static int nod changed to int nod
----------------------------
revision 1.24
date: 2014/12/01 15:26:14; author: root; state: Exp; lines: +2 -2
*** empty log message ***
----------------------------
revision 1.23
date: 2014/12/01 15:22:09; author: root; state: Exp; lines: +6 -1
checked the macro __func__ and __FILE__
----------------------------
revision 1.22
date: 2014/11/29 06:25:30; author: root; state: Exp; lines: +45 -39
checking
----------------------------
revision 1.21
date: 2014/11/29 06:12:51; author: root; state: Exp; lines: +1 -1
local variable i was declared
----------------------------
revision 1.20
date: 2014/11/29 06:04:30; author: root; state: Exp; lines: +14 -2
defined structure pointer variable sculldev
allocated memory for sculldev pointer using kmalloc
clear the memory of sculldev by filling null using memset
----------------------------
revision 1.19
date: 2014/11/29 03:52:43; author: root; state: Exp; lines: +2 -2
checking
----------------------------
revision 1.18
date: 2014/11/28 04:06:08; author: root; state: Exp; lines: +1 -1
checking
----------------------------
revision 1.17
date: 2014/11/28 04:03:24; author: root; state: Exp; lines: +1 -1
checking
----------------------------
revision 1.16
date: 2014/11/28 03:52:35; author: root; state: Exp; lines: +3 -3
correcting variable name nodi to nod
----------------------------
revision 1.15
date: 2014/11/28 03:50:54; author: root; state: Exp; lines: +4 -0
checking for re registration
----------------------------
revision 1.14
date: 2014/11/28 03:40:59; author: root; state: Exp; lines: +1 -0
given alias
----------------------------
revision 1.13
date: 2014/11/28 03:39:18; author: root; state: Exp; lines: +1 -1
corrected majorno in MKDEV
----------------------------
revision 1.12
date: 2014/11/28 03:33:12; author: root; state: Exp; lines: +32 -13
implemented MKDEV macro
Implemented register_chrdev_region() for checking the re registration attempt for our driver
----------------------------
revision 1.11
date: 2014/11/28 02:07:02; author: root; state: Exp; lines: +2 -1
module_param implemented before init function
----------------------------
revision 1.10
date: 2014/11/28 02:00:18; author: root; state: Exp; lines: +3 -3
*** empty log message ***
----------------------------
revision 1.9
date: 2014/11/28 01:57:01; author: root; state: Exp; lines: +2 -2
*** empty log message ***
----------------------------
revision 1.8
date: 2014/11/28 01:39:38; author: root; state: Exp; lines: +2 -2
removed defination of variable nod becase we give value of nod with the insmod command
printf was corrected to printk
----------------------------
revision 1.7
date: 2014/11/28 01:32:07; author: root; state: Exp; lines: +5 -1
defined nod variable
implemented macro module_init to fetch module parameters and cheacked
----------------------------
revision 1.6
date: 2014/11/27 10:34:55; author: root; state: Exp; lines: +1 -1
defined minorno
----------------------------
revision 1.5
date: 2014/11/27 10:32:35; author: root; state: Exp; lines: +2 -2
MAJORNO and MINORNO corrected to MAJOR and MINOR
----------------------------
revision 1.4
date: 2014/11/27 10:21:08; author: root; state: Exp; lines: +6 -1
extract majorno and minorno from dev_t dev using macro MAJORNO and MINORNO respectively
minorno was defined
printed majorno and minorno
----------------------------
revision 1.3
date: 2014/11/27 09:51:08; author: root; state: Exp; lines: +1 -1
corrected type of dev
----------------------------
revision 1.2
date: 2014/11/27 09:41:42; author: root; state: Exp; lines: +19 -7
removed struct file_operations
removed register_chrdev()
defined dev
registering module using alloc_chrdev_region
returned the value of alloc_chrdev_region to variable ret
And checked registration successful or not
----------------------------
revision 1.1
date: 2014/11/27 06:15:26; author: root; state: Exp;
Initial revision
=============================================================================
RCS file: RCS/exit.c,v
Working file: exit.c
head: 1.9
branch:
locks: strict
root: 1.9
access list:
symbolic names:
keyword substitution: kv
total revisions: 9; selected revisions: 9
description:
This is clean up module for devices
'
defined clean_up function
unregistering the driver using unregister_chrdev
cleaning up the module using module_exit
----------------------------
revision 1.9 locked by: root;
date: 2014/12/01 17:57:34; author: root; state: Exp; lines: +6 -0
iimplemented cdev_del()
----------------------------
revision 1.8
date: 2014/12/01 16:18:00; author: root; state: Exp; lines: +1 -1
checking sizeof sculldev after kfree
----------------------------
revision 1.7
date: 2014/12/01 16:15:58; author: root; state: Exp; lines: +6 -1
checking
----------------------------
revision 1.6
date: 2014/12/01 16:11:28; author: root; state: Exp; lines: +20 -1
sculldev pointer was checked for null after kfree()
----------------------------
revision 1.5
date: 2014/12/01 15:46:14; author: root; state: Exp; lines: +1 -1
checked for the value of nod
----------------------------
revision 1.4
date: 2014/12/01 15:33:34; author: root; state: Exp; lines: +1 -1
COUNT changed by nod
----------------------------
revision 1.3
date: 2014/11/29 06:09:41; author: root; state: Exp; lines: +1 -0
memory of sculldev freed by kfree()
----------------------------
revision 1.2
date: 2014/11/27 09:46:50; author: root; state: Exp; lines: +3 -2
removed unregister_chrdev()
unregistering module by unregister_chrdev_region()
----------------------------
revision 1.1
date: 2014/11/27 06:18:46; author: root; state: Exp;
Initial revision
=============================================================================
RCS file: RCS/open_dev.c,v
Working file: open_dev.c
head: 1.2
branch:
locks: strict
root: 1.2
access list:
symbolic names:
keyword substitution: kv
total revisions: 2; selected revisions: 2
description:
This is a routine to map open system call
----------------------------
revision 1.2 locked by: root;
date: 2014/12/02 01:23:38; author: root; state: Exp; lines: +2 -1
return statement included
----------------------------
revision 1.1
date: 2014/12/02 01:21:14; author: root; state: Exp;
Initial revision
=============================================================================
RCS file: RCS/release_dev.c,v
Working file: release_dev.c
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:
This is a driver routine to map system call release(close)
----------------------------
revision 1.1 locked by: root;
date: 2014/12/02 01:21:14; author: root; state: Exp;
Initial revision
=============================================================================
RCS file: RCS/application.c,v
Working file: application.c
head: 1.1
branch:
locks: strict
root: 1.1
access list:
symbolic names:
keyword substitution: kv
total revisions: 1; selected revisions: 1
description:
This is the application file which is a user space program
----------------------------
revision 1.1 locked by: root;
date: 2014/12/02 01:09:31; author: root; state: Exp;
Initial revision
=============================================================================
It looks like you're new here. If you want to get involved, click one of these buttons!