<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>EmbLogic &#187; Sanjay Singla</title>
	<atom:link href="https://www.emblogic.com/blog/author/sanjaysingla1234/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.emblogic.com/blog</link>
	<description>Embedded System and ARM Training</description>
	<lastBuildDate>Tue, 03 Mar 2020 13:00:06 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.9.1</generator>
	<item>
		<title>Hello_kern_prog</title>
		<link>https://www.emblogic.com/blog/04/hello_kern_prog/</link>
		<comments>https://www.emblogic.com/blog/04/hello_kern_prog/#comments</comments>
		<pubDate>Sun, 17 Apr 2016 09:42:58 +0000</pubDate>
		<dc:creator><![CDATA[Sanjay Singla]]></dc:creator>
				<category><![CDATA[Character Driver]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13540</guid>
		<description><![CDATA[This is insert the data into the ram and print it.]]></description>
				<content:encoded><![CDATA[<p>This is insert the data into the ram and print it.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/04/hello_kern_prog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Character-driver</title>
		<link>https://www.emblogic.com/blog/04/character-driver-34/</link>
		<comments>https://www.emblogic.com/blog/04/character-driver-34/#comments</comments>
		<pubDate>Wed, 06 Apr 2016 11:44:28 +0000</pubDate>
		<dc:creator><![CDATA[Sanjay Singla]]></dc:creator>
				<category><![CDATA[Character Driver]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13497</guid>
		<description><![CDATA[Character driver &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- revision 1.38 date: 2016/03/11 05:46:49; author: root; state: Exp; lines: +0 -1 *** empty log message *** &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- revision 1.37 date: 2016/03/10 09:52:22; author: root; state: Exp; lines: +1 -1 *** empty log message *** &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- revision &#8230; <a href="https://www.emblogic.com/blog/04/character-driver-34/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Character driver<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.38<br />
date: 2016/03/11 05:46:49; author: root; state: Exp; lines: +0 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.37<br />
date: 2016/03/10 09:52:22; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.36<br />
date: 2016/03/10 09:49:21; author: root; state: Exp; lines: +5 -5<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.35<br />
date: 2016/03/10 09:40:54; author: root; state: Exp; lines: +5 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.34<br />
date: 2016/03/10 09:34:58; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.33<br />
date: 2016/03/10 09:32:03; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.32<br />
date: 2016/03/10 09:23:40; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.31<br />
date: 2016/03/10 09:22:50; author: root; state: Exp; lines: +2 -0<br />
We cross check the program.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.30<br />
date: 2016/03/10 09:19:44; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.29<br />
date: 2016/03/10 09:17:59; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.28<br />
date: 2016/03/10 09:17:21; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.27<br />
date: 2016/03/10 09:15:41; author: root; state: Exp; lines: +6 -4<br />
Call the memset().<br />
Call the cdev_init().<br />
Call the cdev_add().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.26<br />
date: 2016/03/10 09:03:11; author: root; state: Exp; lines: +1 -0<br />
Declare the variable of dev inside it.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.25<br />
date: 2016/03/10 08:56:32; author: root; state: Exp; lines: +7 -0<br />
Malloc the memory for dev struct through kmalloc.<br />
It takes two arguments frist type or bit o memory and 2nd is flag.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.24<br />
date: 2016/03/10 08:36:18; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.23<br />
date: 2016/03/10 08:34:18; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22<br />
date: 2016/03/10 06:20:52; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2016/03/10 06:17:13; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2016/03/10 06:15:15; author: root; state: Exp; lines: +6 -6<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2016/03/10 06:11:27; author: root; state: Exp; lines: +6 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2016/03/10 06:03:04; author: root; state: Exp; lines: +2 -3<br />
Delete the majorno and minorno variable and declare it into the macro.h<br />
Delete the dev_t devid and declare it into the macro.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2016/03/10 05:53:26; author: root; state: Exp; lines: +3 -1<br />
Here declare the libraray #include&#8221;macro.h&#8221;.<br />
We spacifie the macro inside the function.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2016/03/09 10:24:50; author: root; state: Exp; lines: +1 -1<br />
Pass the address.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/03/09 10:23:00; author: root; state: Exp; lines: +1 -1<br />
Here we use alloc_chrdev_region().<br />
Now pass the argument where the minor no. startup and no. of devices.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/03/09 10:01:33; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/03/09 09:58:32; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/03/09 09:56:35; author: root; state: Exp; lines: +3 -4<br />
Add the dev_t variable and inside the register_chrdev_region().<br />
Print the majar no. and minor no.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/03/09 09:48:56; author: root; state: Exp; lines: +1 -1<br />
Add the argument which tell no. of devices.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/03/09 09:46:41; author: root; state: Exp; lines: +1 -1<br />
Aplly condition to check the registeration through register_chrdev_region.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/09 09:46:07; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/09 09:42:29; author: root; state: Exp; lines: +3 -3<br />
Decalre a integer variable which name is mano.(major no.).<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/09 09:39:01; author: root; state: Exp; lines: +16 -3<br />
Call the register_chrdev_region().<br />
The frist argument is dev_t type in which major no. is save and 2nd argument strore the minor number.<br />
3rd argument is name of driver i.e in which name you register your own driver in table.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/09 09:20:55; author: root; state: Exp; lines: +1 -1<br />
Add the termination condition.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/09 09:19:21; author: root; state: Exp; lines: +0 -2<br />
Add the prototype file.<br />
Define the struct file_operations.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/09 09:09:30; author: root; state: Exp; lines: +1 -1<br />
Here declare the mno.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/09 08:56:52; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/09 08:50:51; author: root; state: Exp; lines: +6 -0<br />
Register().<br />
Frist arguments is major no..<br />
So put in 0 for default case.<br />
2nd arguments are driver name<br />
3rd arguments are file operations.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/04 10:29:25; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: macro.h,v<br />
Working file: macro.h<br />
head: 1.15<br />
branch:<br />
locks: strict<br />
root: 1.15<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 15; selected revisions: 15<br />
description:<br />
Declare a new file.Here we define the macro.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15 locked by: root;<br />
date: 2016/03/27 10:11:10; author: root; state: Exp; lines: +0 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/03/27 10:10:02; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/03/27 10:05:42; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/03/27 10:02:37; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/03/16 10:38:14; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/03/11 12:23:37; author: root; state: Exp; lines: +4 -0<br />
Add the macro of DEBUG<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/11 05:58:19; author: root; state: Exp; lines: +0 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/11 05:52:49; author: root; state: Exp; lines: +3 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/11 05:51:42; author: root; state: Exp; lines: +0 -4<br />
Remove the node macro.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/10 08:57:42; author: root; state: Exp; lines: +15 -0<br />
define the variale of structure like devicesize,quantumsize,qsetsize,datasize.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/10 08:41:40; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/10 06:17:15; author: root; state: Exp; lines: +0 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/10 06:06:02; author: root; state: Exp; lines: +10 -0<br />
Here declare the minorno and majorno .<br />
We also declare dev_t devid variable.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/10 05:56:12; author: root; state: Exp; lines: +1 -1<br />
Defile the value of nod.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/10 05:54:14; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: opendev.c,v<br />
Working file: opendev.c<br />
head: 1.44<br />
branch:<br />
locks: strict<br />
root: 1.44<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 44; selected revisions: 44<br />
description:<br />
Here open the device.<br />
release the device.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.44 locked by: root;<br />
date: 2016/03/26 08:23:06; author: root; state: Exp; lines: +9 -9<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.43<br />
date: 2016/03/26 08:17:34; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.42<br />
date: 2016/03/26 08:15:51; author: root; state: Exp; lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.41<br />
date: 2016/03/26 08:06:45; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.40<br />
date: 2016/03/26 07:56:13; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.39<br />
date: 2016/03/26 07:55:16; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.38<br />
date: 2016/03/26 07:54:15; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.37<br />
date: 2016/03/26 07:53:09; author: root; state: Exp; lines: +3 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.36<br />
date: 2016/03/26 07:50:05; author: root; state: Exp; lines: +2 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.35<br />
date: 2016/03/26 07:46:21; author: root; state: Exp; lines: +3 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.34<br />
date: 2016/03/26 07:42:37; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.33<br />
date: 2016/03/26 06:10:00; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.32<br />
date: 2016/03/26 05:58:03; author: root; state: Exp; lines: +0 -1<br />
remove the call of trimdev().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.31<br />
date: 2016/03/23 19:27:13; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.30<br />
date: 2016/03/23 19:24:55; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.29<br />
date: 2016/03/16 10:45:01; author: root; state: Exp; lines: +4 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.28<br />
date: 2016/03/16 05:05:43; author: root; state: Exp; lines: +1 -2<br />
Here we remove one print statement and add some print text.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.27<br />
date: 2016/03/16 04:59:56; author: root; state: Exp; lines: +1 -1<br />
There is not allow , inside printk like that printk(KERN_INFO, &#8220;g\n&#8221;); like this this create a error.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.26<br />
date: 2016/03/16 04:52:50; author: root; state: Exp; lines: +8 -11<br />
Initially we put ldev = NULL.<br />
We use ldev into container_of().<br />
It return some value then these value save inside the file-&gt;private.data.<br />
And make a conditon in which it always strore the last two bit same as because we know O_ACCMODE the value is three and its binaray no. is 11 we and with the flag value so it store same flag digit of frist two digit.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.25<br />
date: 2016/03/16 04:45:55; author: root; state: Exp; lines: +3 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.24<br />
date: 2016/03/14 11:47:10; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.23<br />
date: 2016/03/14 11:46:25; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22<br />
date: 2016/03/14 11:45:46; author: root; state: Exp; lines: +2 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2016/03/14 11:43:39; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2016/03/14 11:42:29; author: root; state: Exp; lines: +1 -1<br />
Define the struct dev *ldev.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2016/03/14 11:40:07; author: root; state: Exp; lines: +1 -3<br />
Call the trimdev().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2016/03/14 11:37:59; author: root; state: Exp; lines: +3 -2<br />
Add the macro.h header file.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2016/03/14 11:35:39; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2016/03/14 11:16:28; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/03/14 11:13:56; author: root; state: Exp; lines: +1 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/03/14 11:13:25; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/03/14 10:50:12; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/03/14 10:45:46; author: root; state: Exp; lines: +3 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/03/14 10:42:55; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/03/14 10:40:59; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/14 10:24:30; author: root; state: Exp; lines: +0 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/14 10:17:23; author: root; state: Exp; lines: +5 -1<br />
And operataion perform.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/14 08:08:03; author: root; state: Exp; lines: +3 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/11 12:23:49; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/11 12:03:53; author: root; state: Exp; lines: +0 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/11 12:02:41; author: root; state: Exp; lines: +7 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/11 11:41:49; author: root; state: Exp; lines: +22 -2<br />
Call the trim function which use to overwrite data.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/11 10:51:03; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/11 10:04:55; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: prototype.h,v<br />
Working file: prototype.h<br />
head: 1.16<br />
branch:<br />
locks: strict<br />
root: 1.16<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 16; selected revisions: 16<br />
description:<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16 locked by: root;<br />
date: 2016/03/28 10:15:46; author: root; state: Exp; lines: +1 -0<br />
Add the seekdev() return and prototype.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/03/22 03:46:26; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/03/22 03:42:57; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/03/21 10:56:47; author: root; state: Exp; lines: +21 -0<br />
Remove the prototype here.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/03/11 12:23:50; author: root; state: Exp; lines: +0 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/03/11 11:50:42; author: root; state: Exp; lines: +1 -1<br />
Defination of the trimdev().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/03/11 11:42:31; author: root; state: Exp; lines: +1 -0<br />
Add the int trimdev().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/11 06:44:38; author: root; state: Exp; lines: +1 -1<br />
Add the dev_t devno.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/11 06:02:54; author: root; state: Exp; lines: +1 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/11 05:57:57; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/10 09:16:24; author: root; state: Exp; lines: +1 -1<br />
Add the pointer structre.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/10 09:03:33; author: root; state: Exp; lines: +1 -0<br />
Add the variable of dev.\<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/10 08:37:52; author: root; state: Exp; lines: +2 -0<br />
Add the two variables.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/09 09:57:27; author: root; state: Exp; lines: +1 -1<br />
Add the variable chrdev.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/09 09:44:25; author: root; state: Exp; lines: +1 -0<br />
Add the extern file<br />
Declare the major no. inside the prototype.h.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/09 09:14:21; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: readdev.c,v<br />
Working file: readdev.c<br />
head: 1.179<br />
branch:<br />
locks: strict<br />
root: 1.179<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 179; selected revisions: 179<br />
description:<br />
This is a readdev().<br />
Here we start to read data.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.179 locked by: root;<br />
date: 2016/03/31 06:06:31; author: root; state: Exp; lines: +2 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.178</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/04/character-driver-34/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mdc four-bit</title>
		<link>https://www.emblogic.com/blog/04/mdc-four-bit/</link>
		<comments>https://www.emblogic.com/blog/04/mdc-four-bit/#comments</comments>
		<pubDate>Wed, 06 Apr 2016 07:45:43 +0000</pubDate>
		<dc:creator><![CDATA[Sanjay Singla]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13494</guid>
		<description><![CDATA[multiple data compression with four bit RCS file: code_length.c,v Working file: code_length.c 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 code_length(). Here we calculate the &#8230; <a href="https://www.emblogic.com/blog/04/mdc-four-bit/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>multiple data compression with four bit<br />
RCS file: code_length.c,v<br />
Working file: code_length.c<br />
head: 1.3<br />
branch:<br />
locks: strict<br />
root: 1.3<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 3; selected revisions: 3<br />
description:<br />
This is code_length().<br />
Here we calculate the code length of our file.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3 locked by: root;<br />
date: 2016/03/13 09:31:32; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/13 09:31:11; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/13 09:30:21; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: compress3.c,v<br />
Working file: compress3.c<br />
head: 1.4<br />
branch:<br />
locks: strict<br />
root: 1.4<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 4; selected revisions: 4<br />
description:<br />
Create a compress3().<br />
Here we compress the data which code_length is three.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4 locked by: root;<br />
date: 2016/04/03 14:14:02; author: root; state: Exp; lines: +109 -18<br />
We make a logic to compress three bit data.<br />
In this case we take three char byt and write data at 24 bit then write data into the file.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/25 11:28:55; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/25 11:27:26; author: root; state: Exp; lines: +37 -16<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/19 03:42:05; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: compress4.c,v<br />
Working file: compress4.c<br />
head: 1.73<br />
branch:<br />
locks: strict<br />
root: 1.73<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 73; selected revisions: 73<br />
description:<br />
This is the compress4().<br />
Now simply we print the file name to check it call or not.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.73 locked by: root;<br />
date: 2016/04/03 14:43:13; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.72<br />
date: 2016/04/03 14:42:17; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.71<br />
date: 2016/04/03 14:41:56; author: root; state: Exp; lines: +2 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.70<br />
date: 2016/04/03 14:39:30; author: root; state: Exp; lines: +2 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.69<br />
date: 2016/04/03 14:37:33; author: root; state: Exp; lines: +4 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.68<br />
date: 2016/04/03 14:34:36; author: root; state: Exp; lines: +1 -0<br />
Check the logic for odd no. inside the file.<br />
And try to solve this issue.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.67<br />
date: 2016/04/02 18:25:27; author: root; state: Exp; lines: +5 -5<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.66<br />
date: 2016/03/19 03:44:24; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.65<br />
date: 2016/03/19 03:43:53; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.64<br />
date: 2016/03/14 06:13:38; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.63<br />
date: 2016/03/14 06:07:04; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.62<br />
date: 2016/03/14 06:06:01; author: root; state: Exp; lines: +10 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.61<br />
date: 2016/03/14 06:02:57; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.60<br />
date: 2016/03/14 06:02:07; author: root; state: Exp; lines: +5 -5<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.59<br />
date: 2016/03/14 05:58:00; author: root; state: Exp; lines: +4 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.58<br />
date: 2016/03/14 05:38:10; author: root; state: Exp; lines: +4 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.57<br />
date: 2016/03/14 05:34:12; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.56<br />
date: 2016/03/14 05:33:36; author: root; state: Exp; lines: +4 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.55<br />
date: 2016/03/14 05:25:52; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.54<br />
date: 2016/03/14 05:22:37; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.53<br />
date: 2016/03/14 05:21:15; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.52<br />
date: 2016/03/14 05:20:41; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.51<br />
date: 2016/03/14 05:19:56; author: root; state: Exp; lines: +1 -0<br />
Print the value of byt.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.50<br />
date: 2016/03/14 05:03:37; author: root; state: Exp; lines: +3 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.49<br />
date: 2016/03/14 05:01:38; author: root; state: Exp; lines: +2 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.48<br />
date: 2016/03/14 04:59:52; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.47<br />
date: 2016/03/14 04:56:42; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.46<br />
date: 2016/03/14 04:52:52; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.45<br />
date: 2016/03/14 04:52:00; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.44<br />
date: 2016/03/14 04:51:35; author: root; state: Exp; lines: +3 -1<br />
,<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.43<br />
date: 2016/03/14 04:50:57; author: root; state: Exp; lines: +2 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.42<br />
date: 2016/03/14 04:48:42; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.41<br />
date: 2016/03/14 04:45:31; author: root; state: Exp; lines: +0 -5<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.40<br />
date: 2016/03/14 04:44:33; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.39<br />
date: 2016/03/14 04:43:54; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.38<br />
date: 2016/03/14 04:43:18; author: root; state: Exp; lines: +13 -3<br />
Check the read().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.37<br />
date: 2016/03/14 04:40:45; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.36<br />
date: 2016/03/13 12:00:54; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.35<br />
date: 2016/03/13 11:59:55; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.34<br />
date: 2016/03/13 11:54:26; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.33<br />
date: 2016/03/13 11:54:10; author: root; state: Exp; lines: +6 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.32<br />
date: 2016/03/13 11:51:58; author: root; state: Exp; lines: +3 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.31<br />
date: 2016/03/13 11:51:00; author: root; state: Exp; lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.30<br />
date: 2016/03/13 11:49:43; author: root; state: Exp; lines: +3 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.29<br />
date: 2016/03/13 11:47:35; author: root; state: Exp; lines: +0 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.28<br />
date: 2016/03/13 11:45:07; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.27<br />
date: 2016/03/13 11:43:35; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.26<br />
date: 2016/03/13 11:43:13; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.25<br />
date: 2016/03/13 11:40:06; author: root; state: Exp; lines: +2 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.24<br />
date: 2016/03/13 11:39:17; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.23<br />
date: 2016/03/13 11:38:03; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22<br />
date: 2016/03/13 11:37:03; author: root; state: Exp; lines: +4 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2016/03/13 11:30:14; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2016/03/13 11:29:54; author: root; state: Exp; lines: +4 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2016/03/13 11:28:53; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2016/03/13 11:28:19; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2016/03/13 11:26:59; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2016/03/13 11:26:08; author: root; state: Exp; lines: +1 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/03/13 11:21:29; author: root; state: Exp; lines: +3 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/03/13 11:19:06; author: root; state: Exp; lines: +3 -1<br />
Take the cursor to the starting position.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/03/13 11:17:03; author: root; state: Exp; lines: +2 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/03/13 11:15:43; author: root; state: Exp; lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/03/13 11:14:41; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/03/13 11:11:06; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/13 11:10:04; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/13 11:09:01; author: root; state: Exp; lines: +1 -1<br />
Declare the variable i.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/13 11:05:26; author: root; state: Exp; lines: +17 -0<br />
Apply the logic to compress the data.<br />
Fristly we take c and byt variable and ex-or by c^c then it become zero.<br />
Then we apply a for loop and give a condtion if *(key+i) != 0. then condition true if it not then falls.<br />
After this we shift the c left four bit and save the data inside the byt and again read the next bit and aplly same logic now it consider a next bit inside the last four bit in c and or with the byt and save two bit data.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/13 10:32:15; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/13 10:31:52; author: root; state: Exp; lines: +4 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/13 10:28:17; author: root; state: Exp; lines: +2 -0<br />
Print the accept element inside the compress4().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/13 10:26:12; author: root; state: Exp; lines: +4 -4<br />
Accept the arguments here.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/13 10:12:15; author: root; state: Exp; lines: +9 -0<br />
Open a file in wronly mode.<br />
Print the fd.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/13 09:42:48; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: compression.c,v<br />
Working file: compression.c<br />
head: 1.36<br />
branch:<br />
locks: strict<br />
root: 1.36<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 36; selected revisions: 36<br />
description:<br />
This is a compression().<br />
Now only print the file name to check it work or not.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.36 locked by: root;<br />
date: 2016/04/02 15:26:17; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.35<br />
date: 2016/03/25 11:29:14; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.34<br />
date: 2016/03/25 11:28:00; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.33<br />
date: 2016/03/19 03:41:52; author: root; state: Exp; lines: +1 -0<br />
Call the compress3().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.32<br />
date: 2016/03/13 10:26:59; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.31<br />
date: 2016/03/13 10:25:54; author: root; state: Exp; lines: +3 -3<br />
Pass the aguments inside the compress4().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.30<br />
date: 2016/03/13 09:42:37; author: root; state: Exp; lines: +1 -0<br />
Call the compress4().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.29<br />
date: 2016/03/13 09:37:19; author: root; state: Exp; lines: +19 -0<br />
Apply the switch case.<br />
pass the code length inside the switch case acc. to code length it call compress().<br />
According the code length it compress data.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.28<br />
date: 2016/03/13 09:29:43; author: root; state: Exp; lines: +4 -2<br />
Call the code_length().<br />
Return the code_length() and print the code length.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.27<br />
date: 2016/03/13 09:18:14; author: root; state: Exp; lines: +3 -1<br />
Print the masterarray length through strlen().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.26<br />
date: 2016/03/13 09:07:52; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.25<br />
date: 2016/03/13 09:02:43; author: root; state: Exp; lines: +1 -0<br />
Call the save_masterarray().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.24<br />
date: 2016/03/13 08:57:46; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.23<br />
date: 2016/03/13 08:56:54; author: root; state: Exp; lines: +0 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22<br />
date: 2016/03/13 08:55:50; author: root; state: Exp; lines: +4 -5<br />
Remove pointer make its a nocal.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2016/03/13 08:53:46; author: root; state: Exp; lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2016/03/13 07:23:01; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2016/03/13 07:20:38; author: root; state: Exp; lines: +1 -1<br />
Save the key inside the key variable.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2016/03/13 06:51:10; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2016/03/13 06:50:10; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2016/03/13 06:49:28; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/03/13 06:47:13; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/03/13 06:46:32; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/03/13 06:45:59; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/03/13 06:44:33; author: root; state: Exp; lines: +3 -2<br />
Call the create_masterarray().<br />
Save the value inside the a variable.<br />
,<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/03/13 06:30:16; author: root; state: Exp; lines: +1 -1<br />
Make fd as a pointer and allocate the memory.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/03/13 06:29:39; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/13 06:28:48; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/13 06:28:25; author: root; state: Exp; lines: +4 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/13 06:24:33; author: root; state: Exp; lines: +8 -7<br />
Provide some commant.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/13 06:16:54; author: root; state: Exp; lines: +1 -1<br />
Print the value of file descriptor.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/13 06:16:23; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/13 06:15:12; author: root; state: Exp; lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/13 06:13:56; author: root; state: Exp; lines: +6 -0<br />
Declare the fd which is integer type.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/13 06:09:49; author: root; state: Exp; lines: +6 -0<br />
we define a varible whice is integer.<br />
Allocate the 15 bit memory through malloc().<br />
Scan the name from user<br />
And pass the name inside the open().<br />
This return the file file_descriptor.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/13 05:55:00; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: create_masterarray.c,v<br />
Working file: create_masterarray.c<br />
head: 1.38<br />
branch:<br />
locks: strict<br />
root: 1.38<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 38; selected revisions: 38<br />
description:<br />
This is create_masterarry().<br />
Here we take the encription key through this.<br />
Now we simply check the create_masterarray() call or not.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.38 locked by: root;<br />
date: 2016/04/02 15:26:19; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.37<br />
date: 2016/03/14 04:46:45; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.36<br />
date: 2016/03/14 04:42:09; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.35<br />
date: 2016/03/14 04:41:50; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.34<br />
date: 2016/03/13 11:46:19; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.33<br />
date: 2016/03/13 11:45:47; author: root; state: Exp; lines: +0 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.32<br />
date: 2016/03/13 11:23:49; author: root; state: Exp; lines: +1 -1<br />
Put the null at the masterarray.<br />
To end of string.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.31<br />
date: 2016/03/13 08:56:07; author: root; state: Exp; lines: +2 -4<br />
return the masterkey through this.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.30<br />
date: 2016/03/13 08:34:41; author: root; state: Exp; lines: +1 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.29<br />
date: 2016/03/13 08:33:14; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.28<br />
date: 2016/03/13 08:31:24; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.27<br />
date: 2016/03/13 08:30:55; author: root; state: Exp; lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.26<br />
date: 2016/03/13 08:24:27; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.25<br />
date: 2016/03/13 08:21:22; author: root; state: Exp; lines: +11 -5<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.24<br />
date: 2016/03/13 08:13:05; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.23<br />
date: 2016/03/13 08:11:34; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22<br />
date: 2016/03/13 08:10:25; author: root; state: Exp; lines: +3 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2016/03/13 08:05:49; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2016/03/13 08:03:21; author: root; state: Exp; lines: +1 -7<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2016/03/13 08:01:25; author: root; state: Exp; lines: +7 -7<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2016/03/13 07:59:42; author: root; state: Exp; lines: +1 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2016/03/13 07:46:34; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2016/03/13 07:46:07; author: root; state: Exp; lines: +3 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/03/13 07:39:36; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/03/13 07:38:37; author: root; state: Exp; lines: +3 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/03/13 07:37:43; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/03/13 07:36:49; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/03/13 07:35:25; author: root; state: Exp; lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/03/13 07:32:26; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/13 07:29:47; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/13 07:29:06; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/13 07:28:45; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/13 07:26:14; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/13 07:25:40; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/13 07:24:57; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/13 07:24:06; author: root; state: Exp; lines: +1 -1<br />
Call the realloc() this create memory if we require.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/13 07:21:00; author: root; state: Exp; lines: +33 -2<br />
Here we read the file through the file descriptor and read at the last null character.<br />
We make a unique key through this function.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/13 06:53:34; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: decompress4.c,v<br />
Working file: decompress4.c<br />
head: 1.41<br />
branch:<br />
locks: strict<br />
root: 1.41<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 41; selected revisions: 41<br />
description:<br />
This is decompress4().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.41 locked by: root;<br />
date: 2016/04/03 14:35:02; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.40<br />
date: 2016/04/03 14:31:52; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.39<br />
date: 2016/04/03 14:30:59; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.38<br />
date: 2016/04/03 14:30:10; author: root; state: Exp; lines: +3 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.37<br />
date: 2016/04/03 14:28:38; author: root; state: Exp; lines: +4 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.36<br />
date: 2016/04/03 08:12:15; author: root; state: Exp; lines: +1 -0<br />
Print some msg.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.35<br />
date: 2016/04/03 07:47:36; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.34<br />
date: 2016/04/03 07:27:04; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.33<br />
date: 2016/04/03 07:23:52; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.32<br />
date: 2016/04/03 06:39:42; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.31<br />
date: 2016/04/03 06:35:15; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.30<br />
date: 2016/04/03 06:25:24; author: root; state: Exp; lines: +5 -5<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.29<br />
date: 2016/04/03 06:22:01; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.28<br />
date: 2016/04/03 06:20:02; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.27<br />
date: 2016/04/03 06:17:53; author: root; state: Exp; lines: +5 -5<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.26<br />
date: 2016/04/03 02:33:43; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.25<br />
date: 2016/04/03 02:33:27; author: root; state: Exp; lines: +12 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.24<br />
date: 2016/04/03 02:29:38; author: root; state: Exp; lines: +7 -5<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.23<br />
date: 2016/04/03 02:20:01; author: root; state: Exp; lines: +2 -1<br />
Print the value of index_word() return value.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22<br />
date: 2016/04/03 02:10:13; author: root; state: Exp; lines: +2 -1<br />
Call the index_word().<br />
Pass the fd inside this.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2016/04/03 02:06:01; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2016/04/03 02:04:39; author: root; state: Exp; lines: +7 -1<br />
Open or creat a new file with name of decompress_file.<br />
Check its fd and print the value of fd.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2016/04/02 18:22:12; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2016/04/02 18:20:31; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2016/04/02 18:18:53; author: root; state: Exp; lines: +5 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2016/04/02 18:13:46; author: root; state: Exp; lines: +3 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/04/02 18:11:10; author: root; state: Exp; lines: +4 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/04/02 18:08:06; author: root; state: Exp; lines: +9 -9<br />
Open a compress_file.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/04/02 18:01:29; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/04/02 17:59:25; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/04/02 17:57:07; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/04/02 15:40:34; author: root; state: Exp; lines: +3 -2<br />
Print the save_masterarray fd in compress4().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/04/02 15:39:07; author: root; state: Exp; lines: +8 -8<br />
Print the compress_file fd.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/04/02 15:35:53; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/04/02 15:35:02; author: root; state: Exp; lines: +1 -1<br />
Open the compress file.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/04/02 15:33:01; author: root; state: Exp; lines: +1 -0<br />
Print the value of dfd.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/04/02 15:31:33; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/04/02 15:30:16; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/04/02 15:27:26; author: root; state: Exp; lines: +2 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/04/02 15:26:20; author: root; state: Exp; lines: +25 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/25 12:28:33; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: decompression.c,v<br />
Working file: decompression.c<br />
head: 1.25<br />
branch:<br />
locks: strict<br />
root: 1.25<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 25; selected revisions: 25<br />
description:<br />
This is a decompression().<br />
Inside the decompression() we only check the function is call or not. we simply print the file name.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.25 locked by: root;<br />
date: 2016/04/03 14:21:53; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.24<br />
date: 2016/04/03 08:10:44; author: root; state: Exp; lines: +3 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.23<br />
date: 2016/04/03 04:43:29; author: root; state: Exp; lines: +3 -8<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22<br />
date: 2016/04/03 04:34:40; author: root; state: Exp; lines: +1 -0<br />
Print the value of key.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2016/04/02 18:07:30; author: root; state: Exp; lines: +3 -9<br />
Remove some call like open of compress_file.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2016/04/02 15:42:34; author: root; state: Exp; lines: +2 -0<br />
Print the fd inside compression().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2016/04/02 15:38:42; author: root; state: Exp; lines: +2 -2<br />
Send the compress_file fd in read only mode in compress4.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2016/03/25 12:29:48; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2016/03/25 12:26:09; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2016/03/25 12:25:46; author: root; state: Exp; lines: +6 -13<br />
Call the decompres4().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/03/25 12:04:16; author: root; state: Exp; lines: +28 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/03/25 11:57:00; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/03/25 11:56:16; author: root; state: Exp; lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/03/25 11:55:07; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/03/25 11:52:20; author: root; state: Exp; lines: +5 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/03/25 11:50:21; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/25 11:50:02; author: root; state: Exp; lines: +8 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/25 11:47:04; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/25 11:44:36; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/25 11:42:44; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/25 11:41:54; author: root; state: Exp; lines: +8 -3<br />
Open a file in rdonly and print it.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/25 11:36:01; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/25 11:31:24; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/25 11:26:49; author: root; state: Exp; lines: +15 -0<br />
Decompression().<br />
Open a file in wronly.<br />
Also print the encription_key from user.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/13 06:01:21; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: header.h,v<br />
Working file: header.h<br />
head: 1.3<br />
branch:<br />
locks: strict<br />
root: 1.3<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 3; selected revisions: 3<br />
description:<br />
This is the header().<br />
Inside this function we declare all the libraray.<br />
We include the stdio.h libraray which means stander input output header.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3 locked by: root;<br />
date: 2016/03/13 09:19:28; author: root; state: Exp; lines: +1 -0<br />
Add the header file string.h becuse we use the stdlen().<br />
This function define into the string.h libraray so we include it inside it.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/13 06:13:29; author: root; state: Exp; lines: +2 -0<br />
Add the libraray for exit().<br />
Add the header file for open().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/13 05:29:56; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: index_word.c,v<br />
Working file: index_word.c<br />
head: 1.23<br />
branch:<br />
locks: strict<br />
root: 1.23<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 23; selected revisions: 23<br />
description:<br />
Make a index_word().<br />
Pass the arguments as fd.<br />
print the value of fd.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.23 locked by: root;<br />
date: 2016/04/03 14:21:21; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22<br />
date: 2016/04/03 08:12:21; author: root; state: Exp; lines: +2 -2<br />
Commant some arguments.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2016/04/03 07:26:13; author: root; state: Exp; lines: +1 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2016/04/03 07:10:18; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2016/04/03 07:09:56; author: root; state: Exp; lines: +4 -5<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2016/04/03 07:07:15; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2016/04/03 07:05:17; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2016/04/03 07:04:21; author: root; state: Exp; lines: +3 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/04/03 06:41:53; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/04/03 06:40:35; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/04/03 06:38:17; author: root; state: Exp; lines: +1 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/04/03 06:32:23; author: root; state: Exp; lines: +3 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/04/03 06:30:13; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/04/03 06:29:34; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/04/03 06:27:39; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/04/03 06:25:25; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/04/03 02:35:21; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/04/03 02:27:04; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/04/03 02:25:11; author: root; state: Exp; lines: +1 -0<br />
Use the lseek().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/04/03 02:23:13; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/04/03 02:21:46; author: root; state: Exp; lines: +2 -1<br />
Typecast the value of ch into integer.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/04/03 02:20:22; author: root; state: Exp; lines: +21 -1<br />
Make a logic to take a word at a particular index.<br />
We read the fd.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/04/03 02:12:13; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: mainmenu.c,v<br />
Working file: mainmenu.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
root: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1; selected revisions: 1<br />
description:<br />
This is a manimenu().<br />
Here we take the choice from user and return the value of choice inside the mainmenu().<br />
Here we define the menu.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1 locked by: root;<br />
date: 2016/03/13 05:32:22; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: mdc.c,v<br />
Working file: mdc.c<br />
head: 1.3<br />
branch:<br />
locks: strict<br />
root: 1.3<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 3; selected revisions: 3<br />
description:<br />
This is our main function mdc().<br />
Inside this function mainmenu() return the value of choice.<br />
We take the value of choice and rotate it into the while loop.<br />
we use switch case.<br />
Inside the switch case we provide the value of choice and make case acc. to user choice.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3 locked by: root;<br />
date: 2016/03/13 06:01:11; author: root; state: Exp; lines: +1 -0<br />
Call the decompression().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/13 05:54:48; author: root; state: Exp; lines: +1 -0<br />
Call the compression().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/13 05:33:30; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: prototype.h,v<br />
Working file: prototype.h<br />
head: 1.23<br />
branch:<br />
locks: strict<br />
root: 1.23<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 23; selected revisions: 23<br />
description:<br />
This is a prototype().<br />
Inside this function we declare the mainmenu().<br />
Here we define its prototype. it return integer and take void argument.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.23 locked by: root;<br />
date: 2016/04/03 02:19:51; author: root; state: Exp; lines: +1 -1<br />
Add the return type is char.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22<br />
date: 2016/04/03 02:09:43; author: root; state: Exp; lines: +1 -0<br />
Add the new index_word().<br />
Add its prototypes and argument.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2016/04/02 18:07:04; author: root; state: Exp; lines: +1 -1<br />
Delete 2nd arument inside the decompress4().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2016/03/25 12:25:34; author: root; state: Exp; lines: +1 -0<br />
Add the decompress4().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2016/03/25 11:41:34; author: root; state: Exp; lines: +0 -1<br />
remove the code_len().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2016/03/25 11:30:36; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2016/03/25 11:28:54; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2016/03/25 11:27:59; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/03/25 11:26:30; author: root; state: Exp; lines: +1 -0<br />
Add the new function code_len().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/03/19 03:41:20; author: root; state: Exp; lines: +2 -1<br />
Add the compress3().<br />
Pass the prototype and return type.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/03/13 10:25:34; author: root; state: Exp; lines: +1 -0<br />
Add the compress4().<br />
Pass the argument inside it.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/03/13 09:29:15; author: root; state: Exp; lines: +1 -0<br />
Add the code_length().<br />
Pass the argument type interger and return type is interger.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/03/13 09:06:44; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/03/13 09:02:16; author: root; state: Exp; lines: +1 -0<br />
Add the save_masterarray().<br />
Pass the argument and its return type.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/13 08:55:32; author: root; state: Exp; lines: +1 -1<br />
Remove argument pointer make it simple.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/13 07:22:59; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/13 07:20:13; author: root; state: Exp; lines: +1 -1<br />
Define return type of create_masterarray().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/13 06:48:55; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/13 06:48:19; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/13 06:43:56; author: root; state: Exp; lines: +1 -0<br />
Add the create_masterarray().<br />
Pass the pointer argument and its return type is integer.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/13 06:00:34; author: root; state: Exp; lines: +1 -0<br />
Add the decompression()<br />
Pass the argument and define its return type is integer.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/13 05:54:06; author: root; state: Exp; lines: +1 -0<br />
Add the compression().<br />
This function return type is integer.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/13 05:31:18; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: save_masterarray.c,v<br />
Working file: save_masterarray.c<br />
head: 1.7<br />
branch:<br />
locks: strict<br />
root: 1.7<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 7; selected revisions: 7<br />
description:<br />
This is the save_masterarray().<br />
Here create a file name is save_masterarray.<br />
Open this file into the write only mode.<br />
Print the fd if it open.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7 locked by: root;<br />
date: 2016/03/13 09:39:10; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/13 09:16:25; author: root; state: Exp; lines: +3 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/13 09:13:06; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/13 09:11:19; author: root; state: Exp; lines: +1 -0<br />
declare the char ch.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/13 09:10:45; author: root; state: Exp; lines: +1 -0<br />
Write the data inside the save_master array.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/13 09:08:55; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/13 09:04:12; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/04/mdc-four-bit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>char-driver</title>
		<link>https://www.emblogic.com/blog/04/char-driver-8/</link>
		<comments>https://www.emblogic.com/blog/04/char-driver-8/#comments</comments>
		<pubDate>Wed, 06 Apr 2016 07:40:58 +0000</pubDate>
		<dc:creator><![CDATA[Sanjay Singla]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13491</guid>
		<description><![CDATA[char driver RCS file: cleanup.c,v Working file: cleanup.c head: 1.25 branch: locks: strict root: 1.25 access list: symbolic names: keyword substitution: kv total revisions: 25; selected revisions: 25 description: This cleanup() is use to remove the driver from kernel. &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#8230; <a href="https://www.emblogic.com/blog/04/char-driver-8/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>char driver</p>
<p>RCS file: cleanup.c,v<br />
Working file: cleanup.c<br />
head: 1.25<br />
branch:<br />
locks: strict<br />
root: 1.25<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 25; selected revisions: 25<br />
description:<br />
This cleanup() is use to remove the driver from kernel.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.25 locked by: root;<br />
date: 2016/03/11 12:23:30; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.24<br />
date: 2016/03/11 12:02:38; author: root; state: Exp; lines: +2 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.23<br />
date: 2016/03/11 09:02:12; author: root; state: Exp; lines: +0 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22<br />
date: 2016/03/11 08:56:27; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2016/03/11 06:56:41; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2016/03/11 06:53:14; author: root; state: Exp; lines: +1 -0<br />
declare the variable i.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2016/03/11 06:52:45; author: root; state: Exp; lines: +4 -1<br />
Delete all the node.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2016/03/10 09:19:22; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2016/03/10 09:18:30; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2016/03/10 09:15:18; author: root; state: Exp; lines: +1 -0<br />
Delete the structure and free the memory.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/03/10 08:55:35; author: root; state: Exp; lines: +1 -0<br />
Free the memory which assign to through kmalloc to dev struct.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/03/10 05:52:43; author: root; state: Exp; lines: +2 -1<br />
Here cahnge the 2nd argument we define in macro and provide the macro inside the unregister_region().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/03/10 05:43:17; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/03/10 05:41:19; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/03/10 05:25:38; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/03/09 09:55:53; author: root; state: Exp; lines: +1 -1<br />
Provide the devid variable insid the unregister_chrdev_region().<br />
No. of devices.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/09 09:36:05; author: root; state: Exp; lines: +2 -1<br />
change the registeration process.<br />
Now we register our driver through new call.<br />
here we declare dev_t type variable.<br />
2nd argument is no. of devices in starting we put one.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/09 09:14:16; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/09 09:08:45; author: root; state: Exp; lines: +0 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/09 08:59:12; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/09 08:47:55; author: root; state: Exp; lines: +1 -0<br />
Unregister the driver through unregister().<br />
Here frist argument is major number and second command is name of the driver.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/08 02:39:06; author: root; state: Exp; lines: +1 -1<br />
Provide space between kern_info and &#8220;&#8221; statements.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/06 04:18:11; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/06 04:14:09; author: root; state: Exp; lines: +1 -1<br />
Now we set the priority of our driver by kern_info.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/04 10:29:25; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: file_opr.h,v<br />
Working file: file_opr.h<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
root: 1.2<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2; selected revisions: 2<br />
description:<br />
Here change the routine of open file.<br />
Now file open though our routine.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2 locked by: root;<br />
date: 2016/03/11 10:57:11; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/11 10:46:22; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: header.h,v<br />
Working file: header.h<br />
head: 1.16<br />
branch:<br />
locks: strict<br />
root: 1.16<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 16; selected revisions: 16<br />
description:<br />
Here all the libraray include which are use in basic driver program.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16 locked by: root;<br />
date: 2016/03/11 12:23:33; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/03/11 10:54:46; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/03/11 10:53:09; author: root; state: Exp; lines: +2 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/03/11 06:28:21; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/03/11 06:25:49; author: root; state: Exp; lines: +1 -0<br />
Add the header file modules_param.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/03/10 09:00:21; author: root; state: Exp; lines: +1 -0<br />
Add the libaray cdev.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/03/10 08:59:40; author: root; state: Exp; lines: +1 -0<br />
Add the library slab.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/10 08:56:07; author: root; state: Exp; lines: +14 -0<br />
Add thr struct dev inside the header.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/10 05:12:58; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/09 10:40:31; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/09 10:35:34; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/09 09:44:07; author: root; state: Exp; lines: +0 -1<br />
Remove the extern file inside the header.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/09 09:38:38; author: root; state: Exp; lines: +1 -1<br />
Add the new extern dev_t majorno variable.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/09 09:08:51; author: root; state: Exp; lines: +1 -0<br />
define the major no. in the header.<br />
Also provide the type .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/09 08:48:58; author: root; state: Exp; lines: +1 -0<br />
Add the new libraray #include&lt;kernel/fs.h&gt;<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/04 10:28:51; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: insert.c,v<br />
Working file: insert.c<br />
head: 1.51<br />
branch:<br />
locks: strict<br />
root: 1.51<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 51; selected revisions: 51<br />
description:<br />
This insert_driver() is use to insert the driver into the kernel.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.51 locked by: root;<br />
date: 2016/03/11 12:02:40; author: root; state: Exp; lines: +12 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.50<br />
date: 2016/03/11 10:56:23; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.49<br />
date: 2016/03/11 10:55:11; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.48<br />
date: 2016/03/11 10:51:01; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.47<br />
date: 2016/03/11 09:02:14; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.46<br />
date: 2016/03/11 06:51:06; author: root; state: Exp; lines: +0 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.45<br />
date: 2016/03/11 06:50:14; author: root; state: Exp; lines: +1 -1<br />
Pass the address.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.44<br />
date: 2016/03/11 06:48:47; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.43<br />
date: 2016/03/11 06:44:06; author: root; state: Exp; lines: +15 -12<br />
Add the mkdev().<br />
Print the value of devices which are connected to it.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.42<br />
date: 2016/03/11 06:26:12; author: root; state: Exp; lines: +1 -0<br />
Declare the modules_param().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.41<br />
date: 2016/03/11 06:12:25; author: root; state: Exp; lines: +7 -2<br />
Check the kernal if it crush then safely out.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.40<br />
date: 2016/03/11 06:02:51; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.39<br />
date: 2016/03/11 05:48:05; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.38<br />
date: 2016/03/11 05:46:49; author: root; state: Exp; lines: +0 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.37<br />
date: 2016/03/10 09:52:22; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.36<br />
date: 2016/03/10 09:49:21; author: root; state: Exp; lines: +5 -5<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.35<br />
date: 2016/03/10 09:40:54; author: root; state: Exp; lines: +5 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.34<br />
date: 2016/03/10 09:34:58; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.33<br />
date: 2016/03/10 09:32:03; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.32<br />
date: 2016/03/10 09:23:40; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.31<br />
date: 2016/03/10 09:22:50; author: root; state: Exp; lines: +2 -0<br />
We cross check the program.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.30<br />
date: 2016/03/10 09:19:44; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.29<br />
date: 2016/03/10 09:17:59; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.28<br />
date: 2016/03/10 09:17:21; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.27<br />
date: 2016/03/10 09:15:41; author: root; state: Exp; lines: +6 -4<br />
Call the memset().<br />
Call the cdev_init().<br />
Call the cdev_add().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.26<br />
date: 2016/03/10 09:03:11; author: root; state: Exp; lines: +1 -0<br />
Declare the variable of dev inside it.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.25<br />
date: 2016/03/10 08:56:32; author: root; state: Exp; lines: +7 -0<br />
Malloc the memory for dev struct through kmalloc.<br />
It takes two arguments frist type or bit o memory and 2nd is flag.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.24<br />
date: 2016/03/10 08:36:18; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.23<br />
date: 2016/03/10 08:34:18; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22<br />
date: 2016/03/10 06:20:52; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2016/03/10 06:17:13; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2016/03/10 06:15:15; author: root; state: Exp; lines: +6 -6<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2016/03/10 06:11:27; author: root; state: Exp; lines: +6 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2016/03/10 06:03:04; author: root; state: Exp; lines: +2 -3<br />
Delete the majorno and minorno variable and declare it into the macro.h<br />
Delete the dev_t devid and declare it into the macro.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2016/03/10 05:53:26; author: root; state: Exp; lines: +3 -1<br />
Here declare the libraray #include&#8221;macro.h&#8221;.<br />
We spacifie the macro inside the function.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2016/03/09 10:24:50; author: root; state: Exp; lines: +1 -1<br />
Pass the address.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/03/09 10:23:00; author: root; state: Exp; lines: +1 -1<br />
Here we use alloc_chrdev_region().<br />
Now pass the argument where the minor no. startup and no. of devices.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/03/09 10:01:33; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/03/09 09:58:32; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/03/09 09:56:35; author: root; state: Exp; lines: +3 -4<br />
Add the dev_t variable and inside the register_chrdev_region().<br />
Print the majar no. and minor no.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/03/09 09:48:56; author: root; state: Exp; lines: +1 -1<br />
Add the argument which tell no. of devices.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/03/09 09:46:41; author: root; state: Exp; lines: +1 -1<br />
Aplly condition to check the registeration through register_chrdev_region.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/09 09:46:07; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/09 09:42:29; author: root; state: Exp; lines: +3 -3<br />
Decalre a integer variable which name is mano.(major no.).<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/09 09:39:01; author: root; state: Exp; lines: +16 -3<br />
Call the register_chrdev_region().<br />
The frist argument is dev_t type in which major no. is save and 2nd argument strore the minor number.<br />
3rd argument is name of driver i.e in which name you register your own driver in table.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/09 09:20:55; author: root; state: Exp; lines: +1 -1<br />
Add the termination condition.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/09 09:19:21; author: root; state: Exp; lines: +0 -2<br />
Add the prototype file.<br />
Define the struct file_operations.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/09 09:09:30; author: root; state: Exp; lines: +1 -1<br />
Here declare the mno.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/09 08:56:52; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/09 08:50:51; author: root; state: Exp; lines: +6 -0<br />
Register().<br />
Frist arguments is major no..<br />
So put in 0 for default case.<br />
2nd arguments are driver name<br />
3rd arguments are file operations.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/04 10:29:25; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: macro.h,v<br />
Working file: macro.h<br />
head: 1.10<br />
branch:<br />
locks: strict<br />
root: 1.10<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 10; selected revisions: 10<br />
description:<br />
Declare a new file.Here we define the macro.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10 locked by: root;<br />
date: 2016/03/11 12:23:37; author: root; state: Exp; lines: +4 -0<br />
Add the macro of DEBUG<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/11 05:58:19; author: root; state: Exp; lines: +0 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/11 05:52:49; author: root; state: Exp; lines: +3 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/11 05:51:42; author: root; state: Exp; lines: +0 -4<br />
Remove the node macro.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/10 08:57:42; author: root; state: Exp; lines: +15 -0<br />
define the variale of structure like devicesize,quantumsize,qsetsize,datasize.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/10 08:41:40; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/10 06:17:15; author: root; state: Exp; lines: +0 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/10 06:06:02; author: root; state: Exp; lines: +10 -0<br />
Here declare the minorno and majorno .<br />
We also declare dev_t devid variable.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/10 05:56:12; author: root; state: Exp; lines: +1 -1<br />
Defile the value of nod.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/10 05:54:14; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: opendev.c,v<br />
Working file: opendev.c<br />
head: 1.7<br />
branch:<br />
locks: strict<br />
root: 1.7<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 7; selected revisions: 7<br />
description:<br />
Here open the device.<br />
release the device.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7 locked by: root;<br />
date: 2016/03/14 08:08:03; author: root; state: Exp; lines: +3 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/11 12:23:49; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/11 12:03:53; author: root; state: Exp; lines: +0 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/11 12:02:41; author: root; state: Exp; lines: +7 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/11 11:41:49; author: root; state: Exp; lines: +22 -2<br />
Call the trim function which use to overwrite data.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/11 10:51:03; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/11 10:04:55; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: prototype.h,v<br />
Working file: prototype.h<br />
head: 1.12<br />
branch:<br />
locks: strict<br />
root: 1.12<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 12; selected revisions: 12<br />
description:<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12 locked by: root;<br />
date: 2016/03/11 12:23:50; author: root; state: Exp; lines: +0 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/03/11 11:50:42; author: root; state: Exp; lines: +1 -1<br />
Defination of the trimdev().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/03/11 11:42:31; author: root; state: Exp; lines: +1 -0<br />
Add the int trimdev().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/11 06:44:38; author: root; state: Exp; lines: +1 -1<br />
Add the dev_t devno.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/11 06:02:54; author: root; state: Exp; lines: +1 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/11 05:57:57; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/10 09:16:24; author: root; state: Exp; lines: +1 -1<br />
Add the pointer structre.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/10 09:03:33; author: root; state: Exp; lines: +1 -0<br />
Add the variable of dev.\<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/10 08:37:52; author: root; state: Exp; lines: +2 -0<br />
Add the two variables.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/09 09:57:27; author: root; state: Exp; lines: +1 -1<br />
Add the variable chrdev.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/09 09:44:25; author: root; state: Exp; lines: +1 -0<br />
Add the extern file<br />
Declare the major no. inside the prototype.h.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/09 09:14:21; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: releasedev.c,v<br />
Working file: releasedev.c<br />
head: 1.3<br />
branch:<br />
locks: strict<br />
root: 1.3<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 3; selected revisions: 3<br />
description:<br />
release the device.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3 locked by: root;<br />
date: 2016/03/11 12:02:42; author: root; state: Exp; lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/11 10:07:03; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/11 10:05:34; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: trimdev.c,v<br />
Working file: trimdev.c<br />
head: 1.4<br />
branch:<br />
locks: strict<br />
root: 1.4<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 4; selected revisions: 4<br />
description:<br />
Trimdev().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4 locked by: root;<br />
date: 2016/03/14 08:08:13; author: root; state: Exp; lines: +3 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/11 12:23:51; author: root; state: Exp; lines: +3 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/11 12:02:43; author: root; state: Exp; lines: +4 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/11 11:42:45; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: cleanup.c,v<br />
Working file: cleanup.c<br />
head: 1.25<br />
branch:<br />
locks: strict<br />
root: 1.25<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 25; selected revisions: 25<br />
description:<br />
This cleanup() is use to remove the driver from kernel.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.25 locked by: root;<br />
date: 2016/03/11 12:23:30; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.24<br />
date: 2016/03/11 12:02:38; author: root; state: Exp; lines: +2 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.23<br />
date: 2016/03/11 09:02:12; author: root; state: Exp; lines: +0 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22<br />
date: 2016/03/11 08:56:27; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2016/03/11 06:56:41; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2016/03/11 06:53:14; author: root; state: Exp; lines: +1 -0<br />
declare the variable i.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2016/03/11 06:52:45; author: root; state: Exp; lines: +4 -1<br />
Delete all the node.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2016/03/10 09:19:22; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2016/03/10 09:18:30; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2016/03/10 09:15:18; author: root; state: Exp; lines: +1 -0<br />
Delete the structure and free the memory.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/03/10 08:55:35; author: root; state: Exp; lines: +1 -0<br />
Free the memory which assign to through kmalloc to dev struct.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/03/10 05:52:43; author: root; state: Exp; lines: +2 -1<br />
Here cahnge the 2nd argument we define in macro and provide the macro inside the unregister_region().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/03/10 05:43:17; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/03/10 05:41:19; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/03/10 05:25:38; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/03/09 09:55:53; author: root; state: Exp; lines: +1 -1<br />
Provide the devid variable insid the unregister_chrdev_region().<br />
No. of devices.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/09 09:36:05; author: root; state: Exp; lines: +2 -1<br />
change the registeration process.<br />
Now we register our driver through new call.<br />
here we declare dev_t type variable.<br />
2nd argument is no. of devices in starting we put one.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/09 09:14:16; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/09 09:08:45; author: root; state: Exp; lines: +0 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/09 08:59:12; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/09 08:47:55; author: root; state: Exp; lines: +1 -0<br />
Unregister the driver through unregister().<br />
Here frist argument is major number and second command is name of the driver.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/08 02:39:06; author: root; state: Exp; lines: +1 -1<br />
Provide space between kern_info and &#8220;&#8221; statements.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/06 04:18:11; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/06 04:14:09; author: root; state: Exp; lines: +1 -1<br />
Now we set the priority of our driver by kern_info.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/04 10:29:25; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: file_opr.h,v<br />
Working file: file_opr.h<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
root: 1.2<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2; selected revisions: 2<br />
description:<br />
Here change the routine of open file.<br />
Now file open though our routine.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2 locked by: root;<br />
date: 2016/03/11 10:57:11; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/11 10:46:22; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: header.h,v<br />
Working file: header.h<br />
head: 1.16<br />
branch:<br />
locks: strict<br />
root: 1.16<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 16; selected revisions: 16<br />
description:<br />
Here all the libraray include which are use in basic driver program.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16 locked by: root;<br />
date: 2016/03/11 12:23:33; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/03/11 10:54:46; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/03/11 10:53:09; author: root; state: Exp; lines: +2 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/03/11 06:28:21; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/03/11 06:25:49; author: root; state: Exp; lines: +1 -0<br />
Add the header file modules_param.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/03/10 09:00:21; author: root; state: Exp; lines: +1 -0<br />
Add the libaray cdev.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/03/10 08:59:40; author: root; state: Exp; lines: +1 -0<br />
Add the library slab.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/10 08:56:07; author: root; state: Exp; lines: +14 -0<br />
Add thr struct dev inside the header.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/10 05:12:58; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/09 10:40:31; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/09 10:35:34; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/09 09:44:07; author: root; state: Exp; lines: +0 -1<br />
Remove the extern file inside the header.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/09 09:38:38; author: root; state: Exp; lines: +1 -1<br />
Add the new extern dev_t majorno variable.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/09 09:08:51; author: root; state: Exp; lines: +1 -0<br />
define the major no. in the header.<br />
Also provide the type .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/09 08:48:58; author: root; state: Exp; lines: +1 -0<br />
Add the new libraray #include&lt;kernel/fs.h&gt;<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/04 10:28:51; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: insert.c,v<br />
Working file: insert.c<br />
head: 1.51<br />
branch:<br />
locks: strict<br />
root: 1.51<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 51; selected revisions: 51<br />
description:<br />
This insert_driver() is use to insert the driver into the kernel.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.51 locked by: root;<br />
date: 2016/03/11 12:02:40; author: root; state: Exp; lines: +12 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.50<br />
date: 2016/03/11 10:56:23; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.49<br />
date: 2016/03/11 10:55:11; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.48<br />
date: 2016/03/11 10:51:01; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.47<br />
date: 2016/03/11 09:02:14; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.46<br />
date: 2016/03/11 06:51:06; author: root; state: Exp; lines: +0 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.45<br />
date: 2016/03/11 06:50:14; author: root; state: Exp; lines: +1 -1<br />
Pass the address.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.44<br />
date: 2016/03/11 06:48:47; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.43<br />
date: 2016/03/11 06:44:06; author: root; state: Exp; lines: +15 -12<br />
Add the mkdev().<br />
Print the value of devices which are connected to it.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.42<br />
date: 2016/03/11 06:26:12; author: root; state: Exp; lines: +1 -0<br />
Declare the modules_param().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.41<br />
date: 2016/03/11 06:12:25; author: root; state: Exp; lines: +7 -2<br />
Check the kernal if it crush then safely out.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.40<br />
date: 2016/03/11 06:02:51; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.39<br />
date: 2016/03/11 05:48:05; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.38<br />
date: 2016/03/11 05:46:49; author: root; state: Exp; lines: +0 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.37<br />
date: 2016/03/10 09:52:22; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.36<br />
date: 2016/03/10 09:49:21; author: root; state: Exp; lines: +5 -5<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.35<br />
date: 2016/03/10 09:40:54; author: root; state: Exp; lines: +5 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.34<br />
date: 2016/03/10 09:34:58; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.33<br />
date: 2016/03/10 09:32:03; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.32<br />
date: 2016/03/10 09:23:40; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.31<br />
date: 2016/03/10 09:22:50; author: root; state: Exp; lines: +2 -0<br />
We cross check the program.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.30<br />
date: 2016/03/10 09:19:44; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.29<br />
date: 2016/03/10 09:17:59; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.28<br />
date: 2016/03/10 09:17:21; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.27<br />
date: 2016/03/10 09:15:41; author: root; state: Exp; lines: +6 -4<br />
Call the memset().<br />
Call the cdev_init().<br />
Call the cdev_add().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.26<br />
date: 2016/03/10 09:03:11; author: root; state: Exp; lines: +1 -0<br />
Declare the variable of dev inside it.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.25<br />
date: 2016/03/10 08:56:32; author: root; state: Exp; lines: +7 -0<br />
Malloc the memory for dev struct through kmalloc.<br />
It takes two arguments frist type or bit o memory and 2nd is flag.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.24<br />
date: 2016/03/10 08:36:18; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.23<br />
date: 2016/03/10 08:34:18; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22<br />
date: 2016/03/10 06:20:52; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2016/03/10 06:17:13; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2016/03/10 06:15:15; author: root; state: Exp; lines: +6 -6<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2016/03/10 06:11:27; author: root; state: Exp; lines: +6 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2016/03/10 06:03:04; author: root; state: Exp; lines: +2 -3<br />
Delete the majorno and minorno variable and declare it into the macro.h<br />
Delete the dev_t devid and declare it into the macro.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2016/03/10 05:53:26; author: root; state: Exp; lines: +3 -1<br />
Here declare the libraray #include&#8221;macro.h&#8221;.<br />
We spacifie the macro inside the function.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2016/03/09 10:24:50; author: root; state: Exp; lines: +1 -1<br />
Pass the address.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/03/09 10:23:00; author: root; state: Exp; lines: +1 -1<br />
Here we use alloc_chrdev_region().<br />
Now pass the argument where the minor no. startup and no. of devices.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/03/09 10:01:33; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/03/09 09:58:32; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/03/09 09:56:35; author: root; state: Exp; lines: +3 -4<br />
Add the dev_t variable and inside the register_chrdev_region().<br />
Print the majar no. and minor no.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/03/09 09:48:56; author: root; state: Exp; lines: +1 -1<br />
Add the argument which tell no. of devices.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/03/09 09:46:41; author: root; state: Exp; lines: +1 -1<br />
Aplly condition to check the registeration through register_chrdev_region.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/09 09:46:07; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/09 09:42:29; author: root; state: Exp; lines: +3 -3<br />
Decalre a integer variable which name is mano.(major no.).<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/09 09:39:01; author: root; state: Exp; lines: +16 -3<br />
Call the register_chrdev_region().<br />
The frist argument is dev_t type in which major no. is save and 2nd argument strore the minor number.<br />
3rd argument is name of driver i.e in which name you register your own driver in table.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/09 09:20:55; author: root; state: Exp; lines: +1 -1<br />
Add the termination condition.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/09 09:19:21; author: root; state: Exp; lines: +0 -2<br />
Add the prototype file.<br />
Define the struct file_operations.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/09 09:09:30; author: root; state: Exp; lines: +1 -1<br />
Here declare the mno.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/09 08:56:52; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/09 08:50:51; author: root; state: Exp; lines: +6 -0<br />
Register().<br />
Frist arguments is major no..<br />
So put in 0 for default case.<br />
2nd arguments are driver name<br />
3rd arguments are file operations.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/04 10:29:25; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: macro.h,v<br />
Working file: macro.h<br />
head: 1.10<br />
branch:<br />
locks: strict<br />
root: 1.10<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 10; selected revisions: 10<br />
description:<br />
Declare a new file.Here we define the macro.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10 locked by: root;<br />
date: 2016/03/11 12:23:37; author: root; state: Exp; lines: +4 -0<br />
Add the macro of DEBUG<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/11 05:58:19; author: root; state: Exp; lines: +0 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/11 05:52:49; author: root; state: Exp; lines: +3 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/11 05:51:42; author: root; state: Exp; lines: +0 -4<br />
Remove the node macro.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/10 08:57:42; author: root; state: Exp; lines: +15 -0<br />
define the variale of structure like devicesize,quantumsize,qsetsize,datasize.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/10 08:41:40; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/10 06:17:15; author: root; state: Exp; lines: +0 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/10 06:06:02; author: root; state: Exp; lines: +10 -0<br />
Here declare the minorno and majorno .<br />
We also declare dev_t devid variable.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/10 05:56:12; author: root; state: Exp; lines: +1 -1<br />
Defile the value of nod.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/10 05:54:14; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: opendev.c,v<br />
Working file: opendev.c<br />
head: 1.8<br />
branch:<br />
locks: strict<br />
root: 1.8<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 8; selected revisions: 8<br />
description:<br />
Here open the device.<br />
release the device.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8 locked by: root;<br />
date: 2016/03/14 10:17:23; author: root; state: Exp; lines: +5 -1<br />
And operataion perform.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/14 08:08:03; author: root; state: Exp; lines: +3 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/11 12:23:49; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/11 12:03:53; author: root; state: Exp; lines: +0 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/11 12:02:41; author: root; state: Exp; lines: +7 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/11 11:41:49; author: root; state: Exp; lines: +22 -2<br />
Call the trim function which use to overwrite data.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/11 10:51:03; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/11 10:04:55; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: prototype.h,v<br />
Working file: prototype.h<br />
head: 1.12<br />
branch:<br />
locks: strict<br />
root: 1.12<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 12; selected revisions: 12<br />
description:<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12 locked by: root;<br />
date: 2016/03/11 12:23:50; author: root; state: Exp; lines: +0 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/03/11 11:50:42; author: root; state: Exp; lines: +1 -1<br />
Defination of the trimdev().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/03/11 11:42:31; author: root; state: Exp; lines: +1 -0<br />
Add the int trimdev().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/11 06:44:38; author: root; state: Exp; lines: +1 -1<br />
Add the dev_t devno.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/11 06:02:54; author: root; state: Exp; lines: +1 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/11 05:57:57; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/10 09:16:24; author: root; state: Exp; lines: +1 -1<br />
Add the pointer structre.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/10 09:03:33; author: root; state: Exp; lines: +1 -0<br />
Add the variable of dev.\<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/10 08:37:52; author: root; state: Exp; lines: +2 -0<br />
Add the two variables.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/09 09:57:27; author: root; state: Exp; lines: +1 -1<br />
Add the variable chrdev.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/09 09:44:25; author: root; state: Exp; lines: +1 -0<br />
Add the extern file<br />
Declare the major no. inside the prototype.h.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/09 09:14:21; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: releasedev.c,v<br />
Working file: releasedev.c<br />
head: 1.3<br />
branch:<br />
locks: strict<br />
root: 1.3<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 3; selected revisions: 3<br />
description:<br />
release the device.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3 locked by: root;<br />
date: 2016/03/11 12:02:42; author: root; state: Exp; lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/11 10:07:03; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/11 10:05:34; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: trimdev.c,v<br />
Working file: trimdev.c<br />
head: 1.4<br />
branch:<br />
locks: strict<br />
root: 1.4<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 4; selected revisions: 4<br />
description:<br />
Trimdev().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4 locked by: root;<br />
date: 2016/03/14 08:08:13; author: root; state: Exp; lines: +3 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/11 12:23:51; author: root; state: Exp; lines: +3 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/11 12:02:43; author: root; state: Exp; lines: +4 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/11 11:42:45; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: cleanup.c,v<br />
Working file: cleanup.c<br />
head: 1.25<br />
branch:<br />
locks: strict<br />
root: 1.25<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 25; selected revisions: 25<br />
description:<br />
This cleanup() is use to remove the driver from kernel.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.25 locked by: root;<br />
date: 2016/03/11 12:23:30; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.24<br />
date: 2016/03/11 12:02:38; author: root; state: Exp; lines: +2 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.23<br />
date: 2016/03/11 09:02:12; author: root; state: Exp; lines: +0 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22<br />
date: 2016/03/11 08:56:27; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2016/03/11 06:56:41; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2016/03/11 06:53:14; author: root; state: Exp; lines: +1 -0<br />
declare the variable i.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2016/03/11 06:52:45; author: root; state: Exp; lines: +4 -1<br />
Delete all the node.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2016/03/10 09:19:22; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2016/03/10 09:18:30; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2016/03/10 09:15:18; author: root; state: Exp; lines: +1 -0<br />
Delete the structure and free the memory.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/03/10 08:55:35; author: root; state: Exp; lines: +1 -0<br />
Free the memory which assign to through kmalloc to dev struct.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/03/10 05:52:43; author: root; state: Exp; lines: +2 -1<br />
Here cahnge the 2nd argument we define in macro and provide the macro inside the unregister_region().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/03/10 05:43:17; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/03/10 05:41:19; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/03/10 05:25:38; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/03/09 09:55:53; author: root; state: Exp; lines: +1 -1<br />
Provide the devid variable insid the unregister_chrdev_region().<br />
No. of devices.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/09 09:36:05; author: root; state: Exp; lines: +2 -1<br />
change the registeration process.<br />
Now we register our driver through new call.<br />
here we declare dev_t type variable.<br />
2nd argument is no. of devices in starting we put one.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/09 09:14:16; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/09 09:08:45; author: root; state: Exp; lines: +0 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/09 08:59:12; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/09 08:47:55; author: root; state: Exp; lines: +1 -0<br />
Unregister the driver through unregister().<br />
Here frist argument is major number and second command is name of the driver.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/08 02:39:06; author: root; state: Exp; lines: +1 -1<br />
Provide space between kern_info and &#8220;&#8221; statements.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/06 04:18:11; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/06 04:14:09; author: root; state: Exp; lines: +1 -1<br />
Now we set the priority of our driver by kern_info.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/04 10:29:25; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: file_opr.h,v<br />
Working file: file_opr.h<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
root: 1.2<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2; selected revisions: 2<br />
description:<br />
Here change the routine of open file.<br />
Now file open though our routine.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2 locked by: root;<br />
date: 2016/03/11 10:57:11; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/11 10:46:22; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: header.h,v<br />
Working file: header.h<br />
head: 1.16<br />
branch:<br />
locks: strict<br />
root: 1.16<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 16; selected revisions: 16<br />
description:<br />
Here all the libraray include which are use in basic driver program.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16 locked by: root;<br />
date: 2016/03/11 12:23:33; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/03/11 10:54:46; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/03/11 10:53:09; author: root; state: Exp; lines: +2 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/03/11 06:28:21; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/03/11 06:25:49; author: root; state: Exp; lines: +1 -0<br />
Add the header file modules_param.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/03/10 09:00:21; author: root; state: Exp; lines: +1 -0<br />
Add the libaray cdev.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/03/10 08:59:40; author: root; state: Exp; lines: +1 -0<br />
Add the library slab.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/10 08:56:07; author: root; state: Exp; lines: +14 -0<br />
Add thr struct dev inside the header.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/10 05:12:58; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/09 10:40:31; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/09 10:35:34; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/09 09:44:07; author: root; state: Exp; lines: +0 -1<br />
Remove the extern file inside the header.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/09 09:38:38; author: root; state: Exp; lines: +1 -1<br />
Add the new extern dev_t majorno variable.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/09 09:08:51; author: root; state: Exp; lines: +1 -0<br />
define the major no. in the header.<br />
Also provide the type .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/09 08:48:58; author: root; state: Exp; lines: +1 -0<br />
Add the new libraray #include&lt;kernel/fs.h&gt;<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/04 10:28:51; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: insert.c,v<br />
Working file: insert.c<br />
head: 1.51<br />
branch:<br />
locks: strict<br />
root: 1.51<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 51; selected revisions: 51<br />
description:<br />
This insert_driver() is use to insert the driver into the kernel.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.51 locked by: root;<br />
date: 2016/03/11 12:02:40; author: root; state: Exp; lines: +12 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.50<br />
date: 2016/03/11 10:56:23; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.49<br />
date: 2016/03/11 10:55:11; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.48<br />
date: 2016/03/11 10:51:01; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.47<br />
date: 2016/03/11 09:02:14; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.46<br />
date: 2016/03/11 06:51:06; author: root; state: Exp; lines: +0 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.45<br />
date: 2016/03/11 06:50:14; author: root; state: Exp; lines: +1 -1<br />
Pass the address.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.44<br />
date: 2016/03/11 06:48:47; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.43<br />
date: 2016/03/11 06:44:06; author: root; state: Exp; lines: +15 -12<br />
Add the mkdev().<br />
Print the value of devices which are connected to it.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.42<br />
date: 2016/03/11 06:26:12; author: root; state: Exp; lines: +1 -0<br />
Declare the modules_param().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.41<br />
date: 2016/03/11 06:12:25; author: root; state: Exp; lines: +7 -2<br />
Check the kernal if it crush then safely out.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.40<br />
date: 2016/03/11 06:02:51; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.39<br />
date: 2016/03/11 05:48:05; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.38<br />
date: 2016/03/11 05:46:49; author: root; state: Exp; lines: +0 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.37<br />
date: 2016/03/10 09:52:22; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.36<br />
date: 2016/03/10 09:49:21; author: root; state: Exp; lines: +5 -5<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.35<br />
date: 2016/03/10 09:40:54; author: root; state: Exp; lines: +5 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.34<br />
date: 2016/03/10 09:34:58; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.33<br />
date: 2016/03/10 09:32:03; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.32<br />
date: 2016/03/10 09:23:40; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.31<br />
date: 2016/03/10 09:22:50; author: root; state: Exp; lines: +2 -0<br />
We cross check the program.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.30<br />
date: 2016/03/10 09:19:44; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.29<br />
date: 2016/03/10 09:17:59; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.28<br />
date: 2016/03/10 09:17:21; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.27<br />
date: 2016/03/10 09:15:41; author: root; state: Exp; lines: +6 -4<br />
Call the memset().<br />
Call the cdev_init().<br />
Call the cdev_add().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.26<br />
date: 2016/03/10 09:03:11; author: root; state: Exp; lines: +1 -0<br />
Declare the variable of dev inside it.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.25<br />
date: 2016/03/10 08:56:32; author: root; state: Exp; lines: +7 -0<br />
Malloc the memory for dev struct through kmalloc.<br />
It takes two arguments frist type or bit o memory and 2nd is flag.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.24<br />
date: 2016/03/10 08:36:18; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.23<br />
date: 2016/03/10 08:34:18; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22<br />
date: 2016/03/10 06:20:52; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2016/03/10 06:17:13; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2016/03/10 06:15:15; author: root; state: Exp; lines: +6 -6<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2016/03/10 06:11:27; author: root; state: Exp; lines: +6 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2016/03/10 06:03:04; author: root; state: Exp; lines: +2 -3<br />
Delete the majorno and minorno variable and declare it into the macro.h<br />
Delete the dev_t devid and declare it into the macro.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2016/03/10 05:53:26; author: root; state: Exp; lines: +3 -1<br />
Here declare the libraray #include&#8221;macro.h&#8221;.<br />
We spacifie the macro inside the function.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2016/03/09 10:24:50; author: root; state: Exp; lines: +1 -1<br />
Pass the address.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/03/09 10:23:00; author: root; state: Exp; lines: +1 -1<br />
Here we use alloc_chrdev_region().<br />
Now pass the argument where the minor no. startup and no. of devices.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/03/09 10:01:33; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/03/09 09:58:32; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/03/09 09:56:35; author: root; state: Exp; lines: +3 -4<br />
Add the dev_t variable and inside the register_chrdev_region().<br />
Print the majar no. and minor no.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/03/09 09:48:56; author: root; state: Exp; lines: +1 -1<br />
Add the argument which tell no. of devices.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/03/09 09:46:41; author: root; state: Exp; lines: +1 -1<br />
Aplly condition to check the registeration through register_chrdev_region.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/09 09:46:07; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/09 09:42:29; author: root; state: Exp; lines: +3 -3<br />
Decalre a integer variable which name is mano.(major no.).<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/09 09:39:01; author: root; state: Exp; lines: +16 -3<br />
Call the register_chrdev_region().<br />
The frist argument is dev_t type in which major no. is save and 2nd argument strore the minor number.<br />
3rd argument is name of driver i.e in which name you register your own driver in table.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/09 09:20:55; author: root; state: Exp; lines: +1 -1<br />
Add the termination condition.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/09 09:19:21; author: root; state: Exp; lines: +0 -2<br />
Add the prototype file.<br />
Define the struct file_operations.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/09 09:09:30; author: root; state: Exp; lines: +1 -1<br />
Here declare the mno.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/09 08:56:52; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/09 08:50:51; author: root; state: Exp; lines: +6 -0<br />
Register().<br />
Frist arguments is major no..<br />
So put in 0 for default case.<br />
2nd arguments are driver name<br />
3rd arguments are file operations.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/04 10:29:25; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: macro.h,v<br />
Working file: macro.h<br />
head: 1.10<br />
branch:<br />
locks: strict<br />
root: 1.10<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 10; selected revisions: 10<br />
description:<br />
Declare a new file.Here we define the macro.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10 locked by: root;<br />
date: 2016/03/11 12:23:37; author: root; state: Exp; lines: +4 -0<br />
Add the macro of DEBUG<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/11 05:58:19; author: root; state: Exp; lines: +0 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/11 05:52:49; author: root; state: Exp; lines: +3 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/11 05:51:42; author: root; state: Exp; lines: +0 -4<br />
Remove the node macro.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/10 08:57:42; author: root; state: Exp; lines: +15 -0<br />
define the variale of structure like devicesize,quantumsize,qsetsize,datasize.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/10 08:41:40; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/10 06:17:15; author: root; state: Exp; lines: +0 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/10 06:06:02; author: root; state: Exp; lines: +10 -0<br />
Here declare the minorno and majorno .<br />
We also declare dev_t devid variable.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/10 05:56:12; author: root; state: Exp; lines: +1 -1<br />
Defile the value of nod.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/10 05:54:14; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: opendev.c,v<br />
Working file: opendev.c<br />
head: 1.9<br />
branch:<br />
locks: strict<br />
root: 1.9<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 9; selected revisions: 9<br />
description:<br />
Here open the device.<br />
release the device.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9 locked by: root;<br />
date: 2016/03/14 10:24:30; author: root; state: Exp; lines: +0 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/14 10:17:23; author: root; state: Exp; lines: +5 -1<br />
And operataion perform.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/14 08:08:03; author: root; state: Exp; lines: +3 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/11 12:23:49; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/11 12:03:53; author: root; state: Exp; lines: +0 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/11 12:02:41; author: root; state: Exp; lines: +7 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/11 11:41:49; author: root; state: Exp; lines: +22 -2<br />
Call the trim function which use to overwrite data.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/11 10:51:03; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/11 10:04:55; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: prototype.h,v<br />
Working file: prototype.h<br />
head: 1.12<br />
branch:<br />
locks: strict<br />
root: 1.12<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 12; selected revisions: 12<br />
description:<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12 locked by: root;<br />
date: 2016/03/11 12:23:50; author: root; state: Exp; lines: +0 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/03/11 11:50:42; author: root; state: Exp; lines: +1 -1<br />
Defination of the trimdev().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/03/11 11:42:31; author: root; state: Exp; lines: +1 -0<br />
Add the int trimdev().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/11 06:44:38; author: root; state: Exp; lines: +1 -1<br />
Add the dev_t devno.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/11 06:02:54; author: root; state: Exp; lines: +1 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/11 05:57:57; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/10 09:16:24; author: root; state: Exp; lines: +1 -1<br />
Add the pointer structre.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/10 09:03:33; author: root; state: Exp; lines: +1 -0<br />
Add the variable of dev.\<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/10 08:37:52; author: root; state: Exp; lines: +2 -0<br />
Add the two variables.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/09 09:57:27; author: root; state: Exp; lines: +1 -1<br />
Add the variable chrdev.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/09 09:44:25; author: root; state: Exp; lines: +1 -0<br />
Add the extern file<br />
Declare the major no. inside the prototype.h.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/09 09:14:21; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: releasedev.c,v<br />
Working file: releasedev.c<br />
head: 1.3<br />
branch:<br />
locks: strict<br />
root: 1.3<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 3; selected revisions: 3<br />
description:<br />
release the device.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3 locked by: root;<br />
date: 2016/03/11 12:02:42; author: root; state: Exp; lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/11 10:07:03; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/11 10:05:34; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: trimdev.c,v<br />
Working file: trimdev.c<br />
head: 1.4<br />
branch:<br />
locks: strict<br />
root: 1.4<br />
access list:<br />
symbolic names:</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/04/char-driver-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>char_driver</title>
		<link>https://www.emblogic.com/blog/04/char_driver-2/</link>
		<comments>https://www.emblogic.com/blog/04/char_driver-2/#comments</comments>
		<pubDate>Wed, 06 Apr 2016 07:08:46 +0000</pubDate>
		<dc:creator><![CDATA[Sanjay Singla]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13488</guid>
		<description><![CDATA[logfile]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.emblogic.com/blog/wp-content/uploads/2015/02/logfile1.txt">logfile</a></p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/04/char_driver-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Character_driver</title>
		<link>https://www.emblogic.com/blog/03/character_driver-3/</link>
		<comments>https://www.emblogic.com/blog/03/character_driver-3/#comments</comments>
		<pubDate>Mon, 14 Mar 2016 09:41:42 +0000</pubDate>
		<dc:creator><![CDATA[Sanjay Singla]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13348</guid>
		<description><![CDATA[RCS file: cleanup.c,v Working file: cleanup.c head: 1.25 branch: locks: strict root: 1.25 access list: symbolic names: keyword substitution: kv total revisions: 25; selected revisions: 25 description: This cleanup() is use to remove the driver from kernel. &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- revision 1.25 &#8230; <a href="https://www.emblogic.com/blog/03/character_driver-3/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: cleanup.c,v<br />
Working file: cleanup.c<br />
head: 1.25<br />
branch:<br />
locks: strict<br />
root: 1.25<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 25; selected revisions: 25<br />
description:<br />
This cleanup() is use to remove the driver from kernel.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.25 locked by: root;<br />
date: 2016/03/11 12:23:30; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.24<br />
date: 2016/03/11 12:02:38; author: root; state: Exp; lines: +2 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.23<br />
date: 2016/03/11 09:02:12; author: root; state: Exp; lines: +0 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22<br />
date: 2016/03/11 08:56:27; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2016/03/11 06:56:41; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2016/03/11 06:53:14; author: root; state: Exp; lines: +1 -0<br />
declare the variable i.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2016/03/11 06:52:45; author: root; state: Exp; lines: +4 -1<br />
Delete all the node.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2016/03/10 09:19:22; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2016/03/10 09:18:30; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2016/03/10 09:15:18; author: root; state: Exp; lines: +1 -0<br />
Delete the structure and free the memory.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/03/10 08:55:35; author: root; state: Exp; lines: +1 -0<br />
Free the memory which assign to through kmalloc to dev struct.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/03/10 05:52:43; author: root; state: Exp; lines: +2 -1<br />
Here cahnge the 2nd argument we define in macro and provide the macro inside the unregister_region().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/03/10 05:43:17; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/03/10 05:41:19; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/03/10 05:25:38; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/03/09 09:55:53; author: root; state: Exp; lines: +1 -1<br />
Provide the devid variable insid the unregister_chrdev_region().<br />
No. of devices.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/09 09:36:05; author: root; state: Exp; lines: +2 -1<br />
change the registeration process.<br />
Now we register our driver through new call.<br />
here we declare dev_t type variable.<br />
2nd argument is no. of devices in starting we put one.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/09 09:14:16; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/09 09:08:45; author: root; state: Exp; lines: +0 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/09 08:59:12; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/09 08:47:55; author: root; state: Exp; lines: +1 -0<br />
Unregister the driver through unregister().<br />
Here frist argument is major number and second command is name of the driver.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/08 02:39:06; author: root; state: Exp; lines: +1 -1<br />
Provide space between kern_info and &#8220;&#8221; statements.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/06 04:18:11; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/06 04:14:09; author: root; state: Exp; lines: +1 -1<br />
Now we set the priority of our driver by kern_info.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/04 10:29:25; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: file_opr.h,v<br />
Working file: file_opr.h<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
root: 1.2<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2; selected revisions: 2<br />
description:<br />
Here change the routine of open file.<br />
Now file open though our routine.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2 locked by: root;<br />
date: 2016/03/11 10:57:11; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/11 10:46:22; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: header.h,v<br />
Working file: header.h<br />
head: 1.16<br />
branch:<br />
locks: strict<br />
root: 1.16<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 16; selected revisions: 16<br />
description:<br />
Here all the libraray include which are use in basic driver program.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16 locked by: root;<br />
date: 2016/03/11 12:23:33; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/03/11 10:54:46; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/03/11 10:53:09; author: root; state: Exp; lines: +2 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/03/11 06:28:21; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/03/11 06:25:49; author: root; state: Exp; lines: +1 -0<br />
Add the header file modules_param.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/03/10 09:00:21; author: root; state: Exp; lines: +1 -0<br />
Add the libaray cdev.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/03/10 08:59:40; author: root; state: Exp; lines: +1 -0<br />
Add the library slab.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/10 08:56:07; author: root; state: Exp; lines: +14 -0<br />
Add thr struct dev inside the header.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/10 05:12:58; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/09 10:40:31; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/09 10:35:34; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/09 09:44:07; author: root; state: Exp; lines: +0 -1<br />
Remove the extern file inside the header.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/09 09:38:38; author: root; state: Exp; lines: +1 -1<br />
Add the new extern dev_t majorno variable.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/09 09:08:51; author: root; state: Exp; lines: +1 -0<br />
define the major no. in the header.<br />
Also provide the type .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/09 08:48:58; author: root; state: Exp; lines: +1 -0<br />
Add the new libraray #include&lt;kernel/fs.h&gt;<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/04 10:28:51; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: insert.c,v<br />
Working file: insert.c<br />
head: 1.51<br />
branch:<br />
locks: strict<br />
root: 1.51<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 51; selected revisions: 51<br />
description:<br />
This insert_driver() is use to insert the driver into the kernel.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.51 locked by: root;<br />
date: 2016/03/11 12:02:40; author: root; state: Exp; lines: +12 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.50<br />
date: 2016/03/11 10:56:23; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.49<br />
date: 2016/03/11 10:55:11; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.48<br />
date: 2016/03/11 10:51:01; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.47<br />
date: 2016/03/11 09:02:14; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.46<br />
date: 2016/03/11 06:51:06; author: root; state: Exp; lines: +0 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.45<br />
date: 2016/03/11 06:50:14; author: root; state: Exp; lines: +1 -1<br />
Pass the address.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.44<br />
date: 2016/03/11 06:48:47; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.43<br />
date: 2016/03/11 06:44:06; author: root; state: Exp; lines: +15 -12<br />
Add the mkdev().<br />
Print the value of devices which are connected to it.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.42<br />
date: 2016/03/11 06:26:12; author: root; state: Exp; lines: +1 -0<br />
Declare the modules_param().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.41<br />
date: 2016/03/11 06:12:25; author: root; state: Exp; lines: +7 -2<br />
Check the kernal if it crush then safely out.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.40<br />
date: 2016/03/11 06:02:51; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.39<br />
date: 2016/03/11 05:48:05; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.38<br />
date: 2016/03/11 05:46:49; author: root; state: Exp; lines: +0 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.37<br />
date: 2016/03/10 09:52:22; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.36<br />
date: 2016/03/10 09:49:21; author: root; state: Exp; lines: +5 -5<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.35<br />
date: 2016/03/10 09:40:54; author: root; state: Exp; lines: +5 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.34<br />
date: 2016/03/10 09:34:58; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.33<br />
date: 2016/03/10 09:32:03; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.32<br />
date: 2016/03/10 09:23:40; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.31<br />
date: 2016/03/10 09:22:50; author: root; state: Exp; lines: +2 -0<br />
We cross check the program.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.30<br />
date: 2016/03/10 09:19:44; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.29<br />
date: 2016/03/10 09:17:59; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.28<br />
date: 2016/03/10 09:17:21; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.27<br />
date: 2016/03/10 09:15:41; author: root; state: Exp; lines: +6 -4<br />
Call the memset().<br />
Call the cdev_init().<br />
Call the cdev_add().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.26<br />
date: 2016/03/10 09:03:11; author: root; state: Exp; lines: +1 -0<br />
Declare the variable of dev inside it.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.25<br />
date: 2016/03/10 08:56:32; author: root; state: Exp; lines: +7 -0<br />
Malloc the memory for dev struct through kmalloc.<br />
It takes two arguments frist type or bit o memory and 2nd is flag.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.24<br />
date: 2016/03/10 08:36:18; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.23<br />
date: 2016/03/10 08:34:18; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22<br />
date: 2016/03/10 06:20:52; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2016/03/10 06:17:13; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2016/03/10 06:15:15; author: root; state: Exp; lines: +6 -6<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2016/03/10 06:11:27; author: root; state: Exp; lines: +6 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2016/03/10 06:03:04; author: root; state: Exp; lines: +2 -3<br />
Delete the majorno and minorno variable and declare it into the macro.h<br />
Delete the dev_t devid and declare it into the macro.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2016/03/10 05:53:26; author: root; state: Exp; lines: +3 -1<br />
Here declare the libraray #include&#8221;macro.h&#8221;.<br />
We spacifie the macro inside the function.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2016/03/09 10:24:50; author: root; state: Exp; lines: +1 -1<br />
Pass the address.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2016/03/09 10:23:00; author: root; state: Exp; lines: +1 -1<br />
Here we use alloc_chrdev_region().<br />
Now pass the argument where the minor no. startup and no. of devices.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2016/03/09 10:01:33; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2016/03/09 09:58:32; author: root; state: Exp; lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2016/03/09 09:56:35; author: root; state: Exp; lines: +3 -4<br />
Add the dev_t variable and inside the register_chrdev_region().<br />
Print the majar no. and minor no.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/03/09 09:48:56; author: root; state: Exp; lines: +1 -1<br />
Add the argument which tell no. of devices.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/03/09 09:46:41; author: root; state: Exp; lines: +1 -1<br />
Aplly condition to check the registeration through register_chrdev_region.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/09 09:46:07; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/09 09:42:29; author: root; state: Exp; lines: +3 -3<br />
Decalre a integer variable which name is mano.(major no.).<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/09 09:39:01; author: root; state: Exp; lines: +16 -3<br />
Call the register_chrdev_region().<br />
The frist argument is dev_t type in which major no. is save and 2nd argument strore the minor number.<br />
3rd argument is name of driver i.e in which name you register your own driver in table.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/09 09:20:55; author: root; state: Exp; lines: +1 -1<br />
Add the termination condition.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/09 09:19:21; author: root; state: Exp; lines: +0 -2<br />
Add the prototype file.<br />
Define the struct file_operations.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/09 09:09:30; author: root; state: Exp; lines: +1 -1<br />
Here declare the mno.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/09 08:56:52; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/09 08:50:51; author: root; state: Exp; lines: +6 -0<br />
Register().<br />
Frist arguments is major no..<br />
So put in 0 for default case.<br />
2nd arguments are driver name<br />
3rd arguments are file operations.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/04 10:29:25; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: macro.h,v<br />
Working file: macro.h<br />
head: 1.10<br />
branch:<br />
locks: strict<br />
root: 1.10<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 10; selected revisions: 10<br />
description:<br />
Declare a new file.Here we define the macro.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10 locked by: root;<br />
date: 2016/03/11 12:23:37; author: root; state: Exp; lines: +4 -0<br />
Add the macro of DEBUG<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/11 05:58:19; author: root; state: Exp; lines: +0 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/11 05:52:49; author: root; state: Exp; lines: +3 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/11 05:51:42; author: root; state: Exp; lines: +0 -4<br />
Remove the node macro.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/10 08:57:42; author: root; state: Exp; lines: +15 -0<br />
define the variale of structure like devicesize,quantumsize,qsetsize,datasize.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/10 08:41:40; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/10 06:17:15; author: root; state: Exp; lines: +0 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/10 06:06:02; author: root; state: Exp; lines: +10 -0<br />
Here declare the minorno and majorno .<br />
We also declare dev_t devid variable.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/10 05:56:12; author: root; state: Exp; lines: +1 -1<br />
Defile the value of nod.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/10 05:54:14; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: opendev.c,v<br />
Working file: opendev.c<br />
head: 1.7<br />
branch:<br />
locks: strict<br />
root: 1.7<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 7; selected revisions: 7<br />
description:<br />
Here open the device.<br />
release the device.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7 locked by: root;<br />
date: 2016/03/14 08:08:03; author: root; state: Exp; lines: +3 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/11 12:23:49; author: root; state: Exp; lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/11 12:03:53; author: root; state: Exp; lines: +0 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/11 12:02:41; author: root; state: Exp; lines: +7 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/11 11:41:49; author: root; state: Exp; lines: +22 -2<br />
Call the trim function which use to overwrite data.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/11 10:51:03; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/11 10:04:55; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: prototype.h,v<br />
Working file: prototype.h<br />
head: 1.12<br />
branch:<br />
locks: strict<br />
root: 1.12<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 12; selected revisions: 12<br />
description:<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12 locked by: root;<br />
date: 2016/03/11 12:23:50; author: root; state: Exp; lines: +0 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2016/03/11 11:50:42; author: root; state: Exp; lines: +1 -1<br />
Defination of the trimdev().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2016/03/11 11:42:31; author: root; state: Exp; lines: +1 -0<br />
Add the int trimdev().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2016/03/11 06:44:38; author: root; state: Exp; lines: +1 -1<br />
Add the dev_t devno.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2016/03/11 06:02:54; author: root; state: Exp; lines: +1 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2016/03/11 05:57:57; author: root; state: Exp; lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2016/03/10 09:16:24; author: root; state: Exp; lines: +1 -1<br />
Add the pointer structre.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2016/03/10 09:03:33; author: root; state: Exp; lines: +1 -0<br />
Add the variable of dev.\<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2016/03/10 08:37:52; author: root; state: Exp; lines: +2 -0<br />
Add the two variables.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/09 09:57:27; author: root; state: Exp; lines: +1 -1<br />
Add the variable chrdev.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/09 09:44:25; author: root; state: Exp; lines: +1 -0<br />
Add the extern file<br />
Declare the major no. inside the prototype.h.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/09 09:14:21; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: releasedev.c,v<br />
Working file: releasedev.c<br />
head: 1.3<br />
branch:<br />
locks: strict<br />
root: 1.3<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 3; selected revisions: 3<br />
description:<br />
release the device.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3 locked by: root;<br />
date: 2016/03/11 12:02:42; author: root; state: Exp; lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/11 10:07:03; author: root; state: Exp; lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/11 10:05:34; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: trimdev.c,v<br />
Working file: trimdev.c<br />
head: 1.4<br />
branch:<br />
locks: strict<br />
root: 1.4<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 4; selected revisions: 4<br />
description:<br />
Trimdev().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4 locked by: root;<br />
date: 2016/03/14 08:08:13; author: root; state: Exp; lines: +3 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2016/03/11 12:23:51; author: root; state: Exp; lines: +3 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2016/03/11 12:02:43; author: root; state: Exp; lines: +4 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2016/03/11 11:42:45; author: root; state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/03/character_driver-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Basic program for socket_inet</title>
		<link>https://www.emblogic.com/blog/03/basic-program-for-socket_inet/</link>
		<comments>https://www.emblogic.com/blog/03/basic-program-for-socket_inet/#comments</comments>
		<pubDate>Wed, 02 Mar 2016 05:42:02 +0000</pubDate>
		<dc:creator><![CDATA[Sanjay Singla]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13316</guid>
		<description><![CDATA[SERVER #include&#60;stdio.h&#62; #include&#60;stdlib.h&#62; #include&#60;linux/types.h&#62; #include&#60;linux/socket.h&#62; #include&#60;sys/un.h&#62; #include&#60;netinet/in.h&#62; int main(int argc,char *argv[]) { int sfd,s_len,b,a,l,nfd,c_len,spn; struct sockaddr_in addr; struct sockaddr_in c_addr; sfd = socket(AF_INET,SOCK_STREAM,0); spn = atoi(argv[1]);//for command line arrguments //int socket(int domain, int type, int protocol);3rd arrguments 0 for defalut &#8230; <a href="https://www.emblogic.com/blog/03/basic-program-for-socket_inet/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>SERVER</p>
<p>#include&lt;stdio.h&gt;<br />
#include&lt;stdlib.h&gt;<br />
#include&lt;linux/types.h&gt;<br />
#include&lt;linux/socket.h&gt;<br />
#include&lt;sys/un.h&gt;<br />
#include&lt;netinet/in.h&gt;<br />
int main(int argc,char *argv[])<br />
{<br />
int sfd,s_len,b,a,l,nfd,c_len,spn;<br />
struct sockaddr_in addr;<br />
struct sockaddr_in c_addr;<br />
sfd = socket(AF_INET,SOCK_STREAM,0);<br />
spn = atoi(argv[1]);//for command line arrguments<br />
//int socket(int domain, int type, int protocol);3rd arrguments 0 for defalut 1 for udp and 2 for tcp;<br />
if(sfd == -1)<br />
{<br />
perror(&#8220;Error due the sfd\n&#8221;);<br />
exit(EXIT_FAILURE);<br />
}<br />
printf(&#8220;Print the socket fd&#8211;&gt;&gt;%d\n&#8221;,sfd);<br />
addr.sin_family = AF_INET;<br />
addr.sin_port = htons(spn);<br />
addr.sin_addr.s_addr=htonl(INADDR_ANY);//chack man 7 ip<br />
s_len = sizeof(addr);<br />
b = bind(sfd, (struct sockaddr*)&amp;addr,s_len);<br />
//int bind(int sockfd, const struct sockaddr *addr,socklen_t addrlen);<br />
if(b == -1)<br />
{<br />
perror(&#8220;Error due the bind call\n&#8221;);<br />
exit(EXIT_FAILURE);<br />
}<br />
listen(sfd,6);<br />
//int listen(int sockfd, int backlog); 2nd arrguments is depth of queue.<br />
if(sfd == -1)<br />
{<br />
perror(&#8220;Error due the slisten call\n&#8221;);<br />
exit(EXIT_FAILURE);<br />
}<br />
char ch[20];<br />
c_len = sizeof(c_addr);<br />
nfd = accept(sfd,(struct sockaddr*)&amp;c_addr,&amp;c_len);<br />
printf(&#8220;hellow\n&#8221;);<br />
// int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);<br />
if(a == -1)<br />
{<br />
perror(&#8220;Error due the accept call fail\n&#8221;);<br />
exit(EXIT_FAILURE);<br />
}<br />
while(1)<br />
{<br />
read(nfd,&amp;ch,20);<br />
// ssize_t read(int fd, void *buf, size_t count);<br />
printf(&#8220;Print the client word&#8211;&gt;&gt;%s\n&#8221;,ch);<br />
}<br />
close(nfd);<br />
return 0;<br />
}</p>
<p>CLIENT</p>
<p>int main(int argc,char *argv[])<br />
9 {<br />
10 int cfd,c_len,c,pn;<br />
11 char ch[20];<br />
12 pn = atoi(argv[2]);<br />
13 struct sockaddr_in c_addr;<br />
14 cfd = socket(AF_INET,SOCK_STREAM,0);<br />
15 printf(&#8220;Print the cfd value &#8212;&gt;&gt;%d\n&#8221;,cfd);<br />
16 if(cfd == -1)<br />
17 {<br />
18 perror(&#8220;Error due the socket call\n&#8221;);<br />
19 exit(EXIT_FAILURE);<br />
20 }<br />
21 c_addr.sin_family = AF_INET;<br />
22 c_addr.sin_port = htons(pn);<br />
23 c_addr.sin_addr.s_addr =inet_addr(argv[1]);<br />
24 c_len = sizeof(c_addr);<br />
25 c = connect(cfd,(struct sockaddr*)&amp;c_addr,c_len);<br />
26 if(c == -1)<br />
27 {<br />
28 perror(&#8220;Error due the connect call fail\n&#8221;);<br />
29 exit(EXIT_FAILURE);<br />
30 }<br />
31 while(1)<br />
32 {<br />
33 scanf(&#8220;%s&#8221;,ch);<br />
34 write(cfd,&amp;ch,20);<br />
35 }<br />
36 return 0;<br />
37 }</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/03/basic-program-for-socket_inet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Basic_program of socket</title>
		<link>https://www.emblogic.com/blog/02/basic_program-of-socket/</link>
		<comments>https://www.emblogic.com/blog/02/basic_program-of-socket/#comments</comments>
		<pubDate>Mon, 29 Feb 2016 06:03:11 +0000</pubDate>
		<dc:creator><![CDATA[Sanjay Singla]]></dc:creator>
				<category><![CDATA[Project 04: FTP based Client Server using Threads and Sockets]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=13313</guid>
		<description><![CDATA[server_program int main() 9 { 10 int s_sockfd,c_sockfd; 11 int c_len,s_len,s_result; 12 struct sockaddr_un s_address; 13 struct sockaddr_un c_address; 14 unlink(&#8220;emblogic&#8221;); 15 s_sockfd = socket(AF_UNIX,SOCK_STREAM,0); 16 printf(&#8220;Print the s_sockfd %d\n&#8221;,s_sockfd); 17 if(s_sockfd == -1) 18 { 19 perror(&#8220;Error due to &#8230; <a href="https://www.emblogic.com/blog/02/basic_program-of-socket/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>server_program</p>
<p>int main()<br />
9 {<br />
10 int s_sockfd,c_sockfd;<br />
11 int c_len,s_len,s_result;<br />
12 struct sockaddr_un s_address;<br />
13 struct sockaddr_un c_address;<br />
14 unlink(&#8220;emblogic&#8221;);<br />
15 s_sockfd = socket(AF_UNIX,SOCK_STREAM,0);<br />
16 printf(&#8220;Print the s_sockfd %d\n&#8221;,s_sockfd);<br />
17 if(s_sockfd == -1)<br />
18 {<br />
19 perror(&#8220;Error due to fd\n&#8221;);<br />
20 exit(EXIT_FAILURE);<br />
21 }<br />
22 s_address.sun_family = AF_UNIX;<br />
23 strcpy(s_address.sun_path,&#8221;emblogic&#8221;);<br />
24 s_len = sizeof(s_address);<br />
25 bind(s_sockfd,(struct sockaddr*)&amp;s_address,s_len);<br />
26 listen(s_sockfd,5);<br />
27 while(1)<br />
28 {<br />
29 char ch;<br />
30 printf(&#8220;Server is waiting\n&#8221;);<br />
31 c_len = sizeof(c_address);<br />
32 c_sockfd = accept(s_sockfd,(struct sockaddr*)&amp;c_address,&amp;c_len);<br />
33 if(c_sockfd == -1)<br />
34 {<br />
35 perror(&#8220;Error due the accept call\n&#8221;);<br />
36 exit(EXIT_FAILURE);<br />
37 }<br />
38 read(c_sockfd,&amp;ch,1);<br />
39 printf(&#8220;Print the value of ch&#8211;&gt;&gt;%c\n&#8221;,ch);<br />
40 ch++;<br />
41 write(c_sockfd,&amp;ch,1);<br />
42 close(c_sockfd);<br />
43 }<br />
44 return 0;<br />
45 }</p>
<p>client_program</p>
<p>1 #include&lt;stdio.h&gt;<br />
2 #include&lt;stdlib.h&gt;<br />
3 #include&lt;string.h&gt;<br />
4 #include&lt;sys/types.h&gt;<br />
5 #include&lt;unistd.h&gt;<br />
6 #include&lt;sys/un.h&gt;<br />
7 #include&lt;sys/socket.h&gt;<br />
8 int main()<br />
9 {<br />
10 int sockfd;<br />
11 int len,result;<br />
12 struct sockaddr_un address;<br />
13 char ch = &#8216;A&#8217;;<br />
14 sockfd = socket(AF_UNIX,SOCK_STREAM,0);<br />
15 printf(&#8220;Print the client sockfd&#8211;&gt;&gt;&gt;%d\n&#8221;,sockfd);<br />
16 if(sockfd &lt; 0)<br />
17 {<br />
18 perror(&#8220;Error due the sockfd\n&#8221;);<br />
19 exit(EXIT_FAILURE);<br />
20 }<br />
21 address.sun_family = AF_UNIX;<br />
22 strcpy(address.sun_path,&#8221;emblogic&#8221;);<br />
23 len = sizeof(address);<br />
24 result = connect(sockfd,(struct sockaddr*)&amp;address,len);<br />
25 if(result == -1)<br />
26 {<br />
27 perror(&#8220;Error due the client1\n&#8221;);<br />
28 exit(EXIT_FAILURE);<br />
29 }<br />
30 write(sockfd,&amp;ch,1);<br />
31 read(sockfd,&amp;ch,1);<br />
32 printf(&#8220;Char in server=%c\n&#8221;,ch);<br />
33 close(sockfd);<br />
34 return 0;<br />
35 }<br />
~</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/02/basic_program-of-socket/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>intro_shared_memory_prog.</title>
		<link>https://www.emblogic.com/blog/10/intro_shared_memory_prog/</link>
		<comments>https://www.emblogic.com/blog/10/intro_shared_memory_prog/#comments</comments>
		<pubDate>Sun, 25 Oct 2015 08:43:30 +0000</pubDate>
		<dc:creator><![CDATA[Sanjay Singla]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=12985</guid>
		<description><![CDATA[RCS file: intro_shared_memory_by_fork.c,v Working file: intro_shared_memory_by_fork.c head: 1.36 branch: locks: strict emblogic: 1.36 access list: symbolic names: keyword substitution: kv total revisions: 36; selected revisions: 36 description: This is my frist program to know the use of shared memory. We &#8230; <a href="https://www.emblogic.com/blog/10/intro_shared_memory_prog/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: intro_shared_memory_by_fork.c,v<br />
Working file: intro_shared_memory_by_fork.c<br />
head: 1.36<br />
branch:<br />
locks: strict<br />
	emblogic: 1.36<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 36;	selected revisions: 36<br />
description:<br />
This is my frist program to know the use of shared memory.<br />
We frist get shmid to the kernal.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.36	locked by: emblogic;<br />
date: 2015/10/25 08:29:39;  author: emblogic;  state: Exp;  lines: +3 -4<br />
Change some.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.35<br />
date: 2015/10/25 08:21:58;  author: emblogic;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.34<br />
date: 2015/10/25 08:21:29;  author: emblogic;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.33<br />
date: 2015/10/25 08:21:02;  author: emblogic;  state: Exp;  lines: +0 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.32<br />
date: 2015/10/25 08:20:34;  author: emblogic;  state: Exp;  lines: +0 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.31<br />
date: 2015/10/25 08:19:59;  author: emblogic;  state: Exp;  lines: +1 -0<br />
Print the value inside the parent which write in child.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.30<br />
date: 2015/10/25 08:19:25;  author: emblogic;  state: Exp;  lines: +1 -0<br />
Add the fork header file.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.29<br />
date: 2015/10/25 08:17:11;  author: emblogic;  state: Exp;  lines: +0 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.28<br />
date: 2015/10/25 08:17:01;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.27<br />
date: 2015/10/25 08:16:46;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.26<br />
date: 2015/10/25 08:15:49;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.25<br />
date: 2015/10/25 08:15:24;  author: emblogic;  state: Exp;  lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.24<br />
date: 2015/10/25 08:14:55;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.23<br />
date: 2015/10/25 08:14:41;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22<br />
date: 2015/10/25 08:14:19;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2015/10/25 08:14:01;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2015/10/25 08:13:39;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2015/10/25 08:13:13;  author: emblogic;  state: Exp;  lines: +2 -2<br />
Print the data.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2015/10/25 08:12:35;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2015/10/25 08:12:04;  author: emblogic;  state: Exp;  lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2015/10/25 08:11:42;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2015/10/25 08:10:29;  author: emblogic;  state: Exp;  lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2015/10/25 08:10:08;  author: emblogic;  state: Exp;  lines: +1 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2015/10/25 08:09:07;  author: emblogic;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2015/10/25 08:08:08;  author: emblogic;  state: Exp;  lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2015/10/25 08:07:34;  author: emblogic;  state: Exp;  lines: +0 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2015/10/25 08:06:25;  author: emblogic;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2015/10/25 08:05:29;  author: emblogic;  state: Exp;  lines: +5 -5<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2015/10/25 08:04:50;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2015/10/25 08:04:23;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2015/10/25 08:02:52;  author: emblogic;  state: Exp;  lines: +2 -1<br />
Move index the shared memory because data do not overwrite on that data which write inicially.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2015/10/25 08:02:15;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/10/25 08:00:38;  author: emblogic;  state: Exp;  lines: +11 -0<br />
Use the signal<br />
By the help of signal we write data in shared memory in child.<br />
Print the value of ptr inside the signal and also print the data.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/10/25 07:57:04;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/10/25 07:55:59;  author: emblogic;  state: Exp;  lines: +20 -1<br />
here print the value of ptr.<br />
Also supply some value at ptr and print the value of ptr in parent using fork call.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/10/25 07:51:13;  author: emblogic;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/10/intro_shared_memory_prog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>massage_queue_one_send_other_receive</title>
		<link>https://www.emblogic.com/blog/10/massage_queue_one_send_other_receive/</link>
		<comments>https://www.emblogic.com/blog/10/massage_queue_one_send_other_receive/#comments</comments>
		<pubDate>Sat, 24 Oct 2015 11:05:25 +0000</pubDate>
		<dc:creator><![CDATA[Sanjay Singla]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=12983</guid>
		<description><![CDATA[THIS IS SEND DATA RCS RCS file: msg_send.c,v Working file: msg_send.c head: 1.11 branch: locks: strict emblogic: 1.11 access list: symbolic names: keyword substitution: kv total revisions: 11; selected revisions: 11 description: Here use the msg_queue to send the data. &#8230; <a href="https://www.emblogic.com/blog/10/massage_queue_one_send_other_receive/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>THIS IS SEND DATA RCS</p>
<p>RCS file: msg_send.c,v<br />
Working file: msg_send.c<br />
head: 1.11<br />
branch:<br />
locks: strict<br />
	emblogic: 1.11<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 11;	selected revisions: 11<br />
description:<br />
Here use the msg_queue to send the data.<br />
We print the msgid which provide by the kernal.<br />
Print the value of this id.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11	locked by: emblogic;<br />
date: 2015/10/24 15:56:13;  author: emblogic;  state: Exp;  lines: +0 -1<br />
Here we write the data in msg_que<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2015/10/24 15:55:31;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2015/10/24 15:54:43;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2015/10/24 15:54:27;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2015/10/24 15:54:03;  author: emblogic;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2015/10/24 15:52:57;  author: emblogic;  state: Exp;  lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2015/10/24 15:52:10;  author: emblogic;  state: Exp;  lines: +3 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/10/24 15:48:39;  author: emblogic;  state: Exp;  lines: +7 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/10/24 15:41:14;  author: emblogic;  state: Exp;  lines: +16 -1<br />
Here enter the text from user.<br />
Put this text inside the queue.<br />
By the help of fgets().<br />
We apply stdin i.e it takes input from the keyboard.<br />
Copy that data in struct buff.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>revision 1.2<br />
date: 2015/10/24 15:28:21;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/10/24 15:28:03;  author: emblogic;  state: Exp;<br />
Initial revision<br />
=============================================================================<br />
THIS IS RECEIVE DATA RCS</p>
<p>RCS file: msg_receive.c,v<br />
Working file: msg_receive.c<br />
head: 1.6<br />
branch:<br />
locks: strict<br />
	emblogic: 1.6<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 6;	selected revisions: 6<br />
description:<br />
Here we make a prog. which receive the data by the help opf massge queue.<br />
This messge queue read data as the other end.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6	locked by: emblogic;<br />
date: 2015/10/24 16:25:41;  author: emblogic;  state: Exp;  lines: +1 -0<br />
Here we only read data which send trough send prog.<br />
This is use to know how massage queue work.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2015/10/24 16:21:55;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/10/24 16:21:31;  author: emblogic;  state: Exp;  lines: +1 -1<br />
,<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/10/24 16:19:36;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/10/24 16:17:44;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/10/24 16:17:23;  author: emblogic;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/10/massage_queue_one_send_other_receive/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Message_queue</title>
		<link>https://www.emblogic.com/blog/10/message_queue/</link>
		<comments>https://www.emblogic.com/blog/10/message_queue/#comments</comments>
		<pubDate>Sat, 24 Oct 2015 09:38:29 +0000</pubDate>
		<dc:creator><![CDATA[Sanjay Singla]]></dc:creator>
				<category><![CDATA[Project 03: Client Server Communication using Linux and IPC]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=12978</guid>
		<description><![CDATA[RCS file: msg_que_fork.c,v Working file: msg_que_fork.c head: 1.22 branch: locks: strict emblogic: 1.22 access list: symbolic names: keyword substitution: kv total revisions: 22;    selected revisions: 22 description: This is my frist prog. on mag queue. &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- revision 1.22    locked by: &#8230; <a href="https://www.emblogic.com/blog/10/message_queue/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: msg_que_fork.c,v<br />
Working file: msg_que_fork.c<br />
head: 1.22<br />
branch:<br />
locks: strict<br />
emblogic: 1.22<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 22;    selected revisions: 22<br />
description:<br />
This is my frist prog. on mag queue.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22    locked by: emblogic;<br />
date: 2015/10/24 14:53:29;  author: emblogic;  state: Exp;  lines: +0 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2015/10/24 14:52:39;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2015/10/24 14:52:19;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2015/10/24 14:51:57;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2015/10/24 14:51:31;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2015/10/24 14:51:09;  author: emblogic;  state: Exp;  lines: +3 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2015/10/24 14:50:33;  author: emblogic;  state: Exp;  lines: +0 -1<br />
remove the wait.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2015/10/24 14:49:42;  author: emblogic;  state: Exp;  lines: +1 -0<br />
Print the value at child as well as parent.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2015/10/24 14:48:55;  author: emblogic;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2015/10/24 14:46:47;  author: emblogic;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2015/10/24 14:46:07;  author: emblogic;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2015/10/24 14:41:01;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2015/10/24 14:40:38;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2015/10/24 14:40:13;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2015/10/24 14:37:48;  author: emblogic;  state: Exp;  lines: +18 -1<br />
We call the foek and genrate the child or parent process.<br />
In child we write the data in msg_queue.<br />
In parent also write data in msg_queue.<br />
When child make own structure then it send data to the queue.<br />
Same process use parent and data pass block by block in msg queue.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2015/10/24 14:20:37;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2015/10/24 14:19:59;  author: emblogic;  state: Exp;  lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2015/10/24 14:17:42;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/10/24 14:16:52;  author: emblogic;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/10/24 14:16:06;  author: emblogic;  state: Exp;  lines: +1 -0<br />
Define the size of buff.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/10/24 14:14:14;  author: emblogic;  state: Exp;  lines: +15 -0<br />
Generate the kernal id by the help of msgget().<br />
Print that id .<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/10/24 13:31:39;  author: emblogic;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/10/message_queue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>linklist</title>
		<link>https://www.emblogic.com/blog/07/linklist-7/</link>
		<comments>https://www.emblogic.com/blog/07/linklist-7/#comments</comments>
		<pubDate>Sat, 04 Jul 2015 09:16:24 +0000</pubDate>
		<dc:creator><![CDATA[Sanjay Singla]]></dc:creator>
				<category><![CDATA[Data Structures with C]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=12872</guid>
		<description><![CDATA[RCS file: linklist.c,v Working file: linklist.c head: 1.18 branch: locks: strict sanjaysingla: 1.18 access list: symbolic names: keyword substitution: kv total revisions: 18; selected revisions: 18 description: Here we make a linklist(). In this we take a value of choice &#8230; <a href="https://www.emblogic.com/blog/07/linklist-7/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: linklist.c,v<br />
Working file: linklist.c<br />
head: 1.18<br />
branch:<br />
locks: strict<br />
	sanjaysingla: 1.18<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 18;	selected revisions: 18<br />
description:<br />
Here we make a linklist().<br />
In this we take a value of choice in main_manu()<br />
And Print the user choice.<br />
Here we also create the another operatios().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18	locked by: sanjaysingla;<br />
date: 2015/07/03 09:13:18;  author: sanjaysingla;  state: Exp;  lines: +0 -1<br />
We allocate the size of list<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2015/07/03 09:09:21;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2015/07/03 08:39:43;  author: sanjaysingla;  state: Exp;  lines: +5 -5<br />
We pass the value of start which is pointer<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2015/07/03 05:59:26;  author: sanjaysingla;  state: Exp;  lines: +9 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2015/07/03 05:48:45;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2015/07/03 05:46:28;  author: sanjaysingla;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2015/07/03 05:45:09;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2015/07/03 05:39:36;  author: sanjaysingla;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2015/07/03 05:38:49;  author: sanjaysingla;  state: Exp;  lines: +4 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2015/07/02 12:32:57;  author: sanjaysingla;  state: Exp;  lines: +2 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2015/07/02 12:17:20;  author: sanjaysingla;  state: Exp;  lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2015/07/02 11:28:02;  author: sanjaysingla;  state: Exp;  lines: +0 -5<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2015/07/02 11:27:04;  author: sanjaysingla;  state: Exp;  lines: +5 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2015/07/02 11:24:22;  author: sanjaysingla;  state: Exp;  lines: +0 -5<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/07/02 11:17:19;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/07/02 11:10:08;  author: sanjaysingla;  state: Exp;  lines: +4 -3<br />
We make a creat_linklist().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/07/02 09:33:14;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/07/02 09:31:36;  author: sanjaysingla;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: main_menu.c,v<br />
Working file: main_menu.c<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
	sanjaysingla: 1.2<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2;	selected revisions: 2<br />
description:<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2	locked by: sanjaysingla;<br />
date: 2015/07/02 11:25:57;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/07/02 11:14:58;  author: sanjaysingla;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: prototype.h,v<br />
Working file: prototype.h<br />
head: 1.13<br />
branch:<br />
locks: strict<br />
	sanjaysingla: 1.13<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 13;	selected revisions: 13<br />
description:<br />
Here we used linklist()<br />
We used main_manu()<br />
in main_manu we pass choice arguments which is integer type<br />
We also define the extern Exit_linklist().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13	locked by: sanjaysingla;<br />
date: 2015/07/03 10:58:01;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2015/07/03 09:58:27;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2015/07/03 09:53:45;  author: sanjaysingla;  state: Exp;  lines: +7 -2<br />
We include all function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2015/07/03 09:02:21;  author: sanjaysingla;  state: Exp;  lines: +2 -2<br />
We change the typecast<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2015/07/03 08:58:28;  author: sanjaysingla;  state: Exp;  lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2015/07/03 08:39:22;  author: sanjaysingla;  state: Exp;  lines: +0 -2<br />
We include the function of insert node<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2015/07/02 12:18:28;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2015/07/02 12:17:18;  author: sanjaysingla;  state: Exp;  lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2015/07/02 11:24:20;  author: sanjaysingla;  state: Exp;  lines: +6 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/07/02 11:22:17;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/07/02 11:13:07;  author: sanjaysingla;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/07/02 11:09:49;  author: sanjaysingla;  state: Exp;  lines: +2 -1<br />
We add some function.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/07/02 09:31:36;  author: sanjaysingla;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: operations.c,v<br />
Working file: operations.c<br />
head: 1.59<br />
branch:<br />
locks: strict<br />
	sanjaysingla: 1.59<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 59;	selected revisions: 59<br />
description:<br />
We used the switch statement to call different functions.<br />
We pass the choice inside the operations().<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.59	locked by: sanjaysingla;<br />
date: 2015/07/03 11:34:34;  author: sanjaysingla;  state: Exp;  lines: +5 -6<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.58<br />
date: 2015/07/03 11:33:11;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.57<br />
date: 2015/07/03 10:58:02;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.56<br />
date: 2015/07/03 10:17:08;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.55<br />
date: 2015/07/03 10:00:18;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.54<br />
date: 2015/07/03 09:58:29;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.53<br />
date: 2015/07/03 09:54:01;  author: sanjaysingla;  state: Exp;  lines: +64 -9<br />
We add some function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.52<br />
date: 2015/07/03 09:18:49;  author: sanjaysingla;  state: Exp;  lines: +1 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.51<br />
date: 2015/07/03 09:16:06;  author: sanjaysingla;  state: Exp;  lines: +5 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.50<br />
date: 2015/07/03 09:13:57;  author: sanjaysingla;  state: Exp;  lines: +4 -5<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.49<br />
date: 2015/07/03 09:06:29;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.48<br />
date: 2015/07/03 09:06:13;  author: sanjaysingla;  state: Exp;  lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.47<br />
date: 2015/07/03 08:51:42;  author: sanjaysingla;  state: Exp;  lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.46<br />
date: 2015/07/03 08:50:49;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.45<br />
date: 2015/07/03 08:50:21;  author: sanjaysingla;  state: Exp;  lines: +1 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.44<br />
date: 2015/07/03 08:49:18;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.43<br />
date: 2015/07/03 08:48:44;  author: sanjaysingla;  state: Exp;  lines: +4 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.42<br />
date: 2015/07/03 08:47:32;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.41<br />
date: 2015/07/03 08:46:16;  author: sanjaysingla;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.40<br />
date: 2015/07/03 08:45:41;  author: sanjaysingla;  state: Exp;  lines: +2 -9<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.39<br />
date: 2015/07/03 08:40:05;  author: sanjaysingla;  state: Exp;  lines: +2 -13<br />
We use case frist and create the linklist<br />
If the linklist created before then it exit<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.38<br />
date: 2015/07/03 06:07:51;  author: sanjaysingla;  state: Exp;  lines: +1 -7<br />
0<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.37<br />
date: 2015/07/03 06:06:23;  author: sanjaysingla;  state: Exp;  lines: +7 -6<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.36<br />
date: 2015/07/03 06:04:21;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.35<br />
date: 2015/07/03 06:03:39;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.34<br />
date: 2015/07/03 06:03:01;  author: sanjaysingla;  state: Exp;  lines: +5 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.33<br />
date: 2015/07/03 06:00:48;  author: sanjaysingla;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.32<br />
date: 2015/07/03 05:52:59;  author: sanjaysingla;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.31<br />
date: 2015/07/03 05:50:45;  author: sanjaysingla;  state: Exp;  lines: +4 -9<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.30<br />
date: 2015/07/03 05:48:46;  author: sanjaysingla;  state: Exp;  lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.29<br />
date: 2015/07/03 05:46:29;  author: sanjaysingla;  state: Exp;  lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.28<br />
date: 2015/07/03 05:45:10;  author: sanjaysingla;  state: Exp;  lines: +3 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.27<br />
date: 2015/07/03 05:42:24;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.26<br />
date: 2015/07/03 05:41:50;  author: sanjaysingla;  state: Exp;  lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.25<br />
date: 2015/07/03 05:40:27;  author: sanjaysingla;  state: Exp;  lines: +2 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.24<br />
date: 2015/07/03 05:38:50;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.23<br />
date: 2015/07/03 05:35:30;  author: sanjaysingla;  state: Exp;  lines: +5 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22<br />
date: 2015/07/03 05:33:39;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2015/07/03 05:31:04;  author: sanjaysingla;  state: Exp;  lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2015/07/03 05:29:23;  author: sanjaysingla;  state: Exp;  lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2015/07/03 05:28:06;  author: sanjaysingla;  state: Exp;  lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2015/07/03 05:27:03;  author: sanjaysingla;  state: Exp;  lines: +5 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2015/07/03 05:22:09;  author: sanjaysingla;  state: Exp;  lines: +3 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2015/07/03 05:21:09;  author: sanjaysingla;  state: Exp;  lines: +1 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2015/07/03 05:20:05;  author: sanjaysingla;  state: Exp;  lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2015/07/03 05:18:28;  author: sanjaysingla;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2015/07/02 12:35:22;  author: sanjaysingla;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2015/07/02 12:32:58;  author: sanjaysingla;  state: Exp;  lines: +4 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2015/07/02 12:29:02;  author: sanjaysingla;  state: Exp;  lines: +2 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2015/07/02 12:26:51;  author: sanjaysingla;  state: Exp;  lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2015/07/02 12:25:16;  author: sanjaysingla;  state: Exp;  lines: +7 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2015/07/02 12:22:10;  author: sanjaysingla;  state: Exp;  lines: +10 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2015/07/02 12:18:58;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2015/07/02 12:17:21;  author: sanjaysingla;  state: Exp;  lines: +9 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2015/07/02 11:10:27;  author: sanjaysingla;  state: Exp;  lines: +6 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/07/02 09:41:54;  author: sanjaysingla;  state: Exp;  lines: +2 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/07/02 09:37:51;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/07/02 09:33:51;  author: sanjaysingla;  state: Exp;  lines: +2 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/07/02 09:31:36;  author: sanjaysingla;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: insert_node.c,v<br />
Working file: insert_node.c<br />
head: 1.13<br />
branch:<br />
locks: strict<br />
	sanjaysingla: 1.13<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 13;	selected revisions: 13<br />
description:<br />
make a function to create the linklist<br />
It check the linklist create or not<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13	locked by: sanjaysingla;<br />
date: 2015/07/04 08:48:22;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
condition is used if list-&gt;next=null then create the node<br />
If the list-&gt;next!=null then frist it goes while loop and assine it list-&gt;next=list<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2015/07/04 08:45:36;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2015/07/04 08:41:53;  author: sanjaysingla;  state: Exp;  lines: +4 -4<br />
Here we apply the concept of insert node inside the linklist<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2015/07/03 11:33:13;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2015/07/03 10:56:10;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2015/07/03 10:55:29;  author: sanjaysingla;  state: Exp;  lines: +5 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2015/07/03 10:03:29;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2015/07/03 10:02:36;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2015/07/03 09:54:13;  author: sanjaysingla;  state: Exp;  lines: +3 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/07/03 09:16:09;  author: sanjaysingla;  state: Exp;  lines: +0 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/07/03 09:14:00;  author: sanjaysingla;  state: Exp;  lines: +3 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/07/03 09:02:53;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
Change the typecast<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/07/03 08:58:32;  author: sanjaysingla;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: display.c,v<br />
Working file: display.c<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
	sanjaysingla: 1.2<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2;	selected revisions: 2<br />
description:<br />
Display all the value in linklist.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2	locked by: sanjaysingla;<br />
date: 2015/07/03 10:55:30;  author: sanjaysingla;  state: Exp;  lines: +6 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/07/03 09:54:16;  author: sanjaysingla;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/07/linklist-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>project work on mdcaeuit</title>
		<link>https://www.emblogic.com/blog/06/project-work-on-mdcaeuit/</link>
		<comments>https://www.emblogic.com/blog/06/project-work-on-mdcaeuit/#comments</comments>
		<pubDate>Sat, 27 Jun 2015 09:30:44 +0000</pubDate>
		<dc:creator><![CDATA[Sanjay Singla]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=12843</guid>
		<description><![CDATA[RCS file: header.h,v Working file: header.h head: 1.4 branch: locks: strict sanjaysingla: 1.4 access list: symbolic names: keyword substitution: kv total revisions: 4; selected revisions: 4 description: Make the rcs version of header Where we store the header file and &#8230; <a href="https://www.emblogic.com/blog/06/project-work-on-mdcaeuit/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: header.h,v<br />
Working file: header.h<br />
head: 1.4<br />
branch:<br />
locks: strict<br />
	sanjaysingla: 1.4<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 4;	selected revisions: 4<br />
description:<br />
Make the rcs version of header<br />
Where we store the header file and proto type<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4	locked by: sanjaysingla;<br />
date: 2015/06/26 09:10:45;  author: sanjaysingla;  state: Exp;  lines: +0 -6<br />
Remove prototype inside the header<br />
Only maintain the header file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/06/26 04:59:49;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
Add extern<br />
Add a new ptototype<br />
Make a compression file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/06/25 09:55:23;  author: sanjaysingla;  state: Exp;  lines: +1 -0<br />
make the compresion prototype<br />
Where we pass two arguments<br />
And close the comparasion prototype<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/06/25 09:53:12;  author: sanjaysingla;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: prototype.h,v<br />
Working file: prototype.h<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
	sanjaysingla: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;	selected revisions: 1<br />
description:<br />
Make the protype rcs<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1	locked by: sanjaysingla;<br />
date: 2015/06/26 10:21:45;  author: sanjaysingla;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: pmdc.c,v<br />
Working file: pmdc.c<br />
head: 1.9<br />
branch:<br />
locks: strict<br />
	sanjaysingla: 1.9<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 9;	selected revisions: 9<br />
description:<br />
we creat the master array<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9	locked by: sanjaysingla;<br />
date: 2015/06/26 10:19:55;  author: sanjaysingla;  state: Exp;  lines: +1 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2015/06/26 10:04:42;  author: sanjaysingla;  state: Exp;  lines: +3 -3<br />
We pass only value inside the argv[]=argv[1]<br />
To oprate in read mode<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2015/06/26 09:30:35;  author: sanjaysingla;  state: Exp;  lines: +1 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2015/06/26 09:25:44;  author: sanjaysingla;  state: Exp;  lines: +9 -9<br />
We declare the argc inside the main<br />
We pass the value of argv inside the function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2015/06/26 09:20:06;  author: sanjaysingla;  state: Exp;  lines: +2 -1<br />
We declare the argc inside the function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/06/26 09:16:55;  author: sanjaysingla;  state: Exp;  lines: +8 -3<br />
We pass the two arguments inside the main<br />
Where argv0==current file<br />
argv1==read that file which you want to read<br />
argv2==write that where we want to write the file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/06/26 09:11:32;  author: sanjaysingla;  state: Exp;  lines: +3 -6<br />
We make a new file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/06/25 09:48:30;  author: sanjaysingla;  state: Exp;  lines: +1 -9<br />
Make a heder file<br />
Where we save all header file and prototype<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/06/25 09:40:11;  author: sanjaysingla;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: compression.c,v<br />
Working file: compression.c<br />
head: 1.10<br />
branch:<br />
locks: strict<br />
	sanjaysingla: 1.10<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 10;	selected revisions: 10<br />
description:<br />
Just checking the extern function<br />
We define it defination outside the file<br />
using extern function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10	locked by: sanjaysingla;<br />
date: 2015/06/26 11:47:16;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
Add some value<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2015/06/26 11:45:11;  author: sanjaysingla;  state: Exp;  lines: +6 -6<br />
Address was passed to the next functions.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2015/06/26 11:38:32;  author: sanjaysingla;  state: Exp;  lines: +6 -6<br />
Cheaking of cases and corrected.<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2015/06/26 11:35:16;  author: sanjaysingla;  state: Exp;  lines: +1 -0<br />
Add prototype<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2015/06/26 11:33:30;  author: sanjaysingla;  state: Exp;  lines: +16 -7<br />
Change the switch statement<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2015/06/26 11:17:26;  author: sanjaysingla;  state: Exp;  lines: +9 -9<br />
Pass the value of nds<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2015/06/26 11:07:18;  author: sanjaysingla;  state: Exp;  lines: +20 -0<br />
Make the switch case<br />
case 1 to 6<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2015/06/26 10:42:59;  author: sanjaysingla;  state: Exp;  lines: +2 -4<br />
Print the value of code lenth<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/06/26 10:18:50;  author: sanjaysingla;  state: Exp;  lines: +5 -2<br />
We pass the value of fd<br />
We pass the value of ndc=10(length of ma)<br />
We pass the master array<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/06/26 05:07:12;  author: sanjaysingla;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: compress2.c,v<br />
Working file: compress2.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
	sanjaysingla: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;	selected revisions: 1<br />
description:<br />
Make a rcs of compress1<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1	locked by: sanjaysingla;<br />
date: 2015/06/26 11:07:48;  author: sanjaysingla;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: compress3.c,v<br />
Working file: compress3.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
	sanjaysingla: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;	selected revisions: 1<br />
description:<br />
Make a rcs of compress3<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1	locked by: sanjaysingla;<br />
date: 2015/06/26 11:07:48;  author: sanjaysingla;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: compress4.c,v<br />
Working file: compress4.c<br />
head: 1.3<br />
branch:<br />
locks: strict<br />
	sanjaysingla: 1.3<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 3;	selected revisions: 3<br />
description:<br />
Make a rcs of compress 4<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3	locked by: sanjaysingla;<br />
date: 2015/06/26 11:47:31;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
Add some commants<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2015/06/26 11:17:38;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
Pass the value of nds<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/06/26 11:07:48;  author: sanjaysingla;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: compress5.c,v<br />
Working file: compress5.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
	sanjaysingla: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;	selected revisions: 1<br />
description:<br />
Make a rcs of compress6<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1	locked by: sanjaysingla;<br />
date: 2015/06/26 11:07:48;  author: sanjaysingla;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: compress6.c,v<br />
Working file: compress6.c<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
	sanjaysingla: 1.2<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2;	selected revisions: 2<br />
description:<br />
Make a rcs of compress 6<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2	locked by: sanjaysingla;<br />
date: 2015/06/26 11:42:59;  author: sanjaysingla;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/06/26 11:07:48;  author: sanjaysingla;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: compress7.c,v<br />
Working file: compress7.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
	sanjaysingla: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;	selected revisions: 1<br />
description:<br />
Make a rcs of compress7<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1	locked by: sanjaysingla;<br />
date: 2015/06/26 11:07:48;  author: sanjaysingla;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/06/project-work-on-mdcaeuit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mdcaeuit project work</title>
		<link>https://www.emblogic.com/blog/06/mdcaeuit-project-work/</link>
		<comments>https://www.emblogic.com/blog/06/mdcaeuit-project-work/#comments</comments>
		<pubDate>Sat, 27 Jun 2015 09:13:40 +0000</pubDate>
		<dc:creator><![CDATA[Sanjay Singla]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=12836</guid>
		<description><![CDATA[And close the comparasion prototype &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- revision 1.1 date: 2015/06/25 09:53:12; author: sanjaysingla; state: Exp; Initial revision ============================================================================= RCS file: prototype.h,v Working file: prototype.h head: 1.1 branch: locks: strict sanjaysingla: 1.1 access list: symbolic names: keyword substitution: kv total revisions: &#8230; <a href="https://www.emblogic.com/blog/06/mdcaeuit-project-work/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>And close the comparasion prototype<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2015/06/25 09:53:12;  author: sanjaysingla;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: prototype.h,v<br />
Working file: prototype.h<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
        sanjaysingla: 1.1<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;     selected revisions: 1<br />
description:<br />
Make the protype rcs<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1    locked by: sanjaysingla;<br />
date: 2015/06/26 10:21:45;  author: sanjaysingla;  state: Exp;<br />
Initial revision<br />
                                                              40,1          11%</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/06/mdcaeuit-project-work/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Array</title>
		<link>https://www.emblogic.com/blog/06/array/</link>
		<comments>https://www.emblogic.com/blog/06/array/#comments</comments>
		<pubDate>Thu, 25 Jun 2015 08:58:25 +0000</pubDate>
		<dc:creator><![CDATA[Sanjay Singla]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=12749</guid>
		<description><![CDATA[Arrray is containe multiple value with same data type and contain continuous address. E.g.if we consider a[10] then it take 0 to 9 continuous address.]]></description>
				<content:encoded><![CDATA[<p>Arrray is containe multiple value with same data type and contain continuous address.<br />
E.g.if we consider a[10] then it take 0 to 9 continuous address.</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/06/array/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
