<?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; Md. Isharat</title>
	<atom:link href="https://www.emblogic.com/blog/author/isharat9/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>trim the sculldev</title>
		<link>https://www.emblogic.com/blog/12/trim-the-sculldev/</link>
		<comments>https://www.emblogic.com/blog/12/trim-the-sculldev/#comments</comments>
		<pubDate>Sat, 20 Dec 2014 08:20:31 +0000</pubDate>
		<dc:creator><![CDATA[Md. Isharat]]></dc:creator>
				<category><![CDATA[Character Driver]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=11934</guid>
		<description><![CDATA[RCS file: RCS/dev_trim.c,v 597 Working file: dev_trim.c 598 head: 1.34 599 branch: 600 locks: strict 601         root: 1.34 602 access list: 603 symbolic names: 604 keyword substitution: kv 605 total revisions: 34;    selected revisions: 34 606 description: 607 this file &#8230; <a href="https://www.emblogic.com/blog/12/trim-the-sculldev/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: RCS/dev_trim.c,v<br />
597 Working file: dev_trim.c<br />
598 head: 1.34<br />
599 branch:<br />
600 locks: strict<br />
601         root: 1.34<br />
602 access list:<br />
603 symbolic names:<br />
604 keyword substitution: kv<br />
605 total revisions: 34;    selected revisions: 34<br />
606 description:<br />
607 this file is used to trim the scull<br />
608 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
609 revision 1.34   locked by: root;<br />
610 date: 2014/12/19 11:53:53;  author: root;  state: Exp;  lines: +1 -1<br />
611 *** empty log message ***<br />
612 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
613 revision 1.33<br />
614 date: 2014/12/19 11:48:03;  author: root;  state: Exp;  lines: +0 -1<br />
615 *** empty log message ***<br />
616 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
617 revision 1.32<br />
618 date: 2014/12/19 09:58:10;  author: root;  state: Exp;  lines: +1 -1<br />
619 *** empty log message ***<br />
620 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
621 revision 1.31<br />
622 date: 2014/12/14 17:46:59;  author: root;  state: Exp;  lines: +0 -6<br />
623 *** empty log message ***<br />
624 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
625 revision 1.30<br />
626 date: 2014/12/14 11:55:03;  author: root;  state: Exp;  lines: +4 -1<br />
free all the valid quantum one by one in reverse order<br />
652 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
653 revision 1.23<br />
654 date: 2014/12/11 10:38:20;  author: root;  state: Exp;  lines: +1 -1<br />
655 finding last valid quantum in last scullqset<br />
656 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
657 revision 1.22<br />
658 date: 2014/12/11 10:32:57;  author: root;  state: Exp;  lines: +12 -31<br />
659 find the last and second last scullqset<br />
660 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
661 revision 1.21<br />
662 date: 2014/12/09 06:23:53;  author: root;  state: Exp;  lines: +15 -2<br />
663 put all the printk statement inside #ifdefine DEBUG<br />
664 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
665 revision 1.20<br />
666 date: 2014/12/08 10:27:41;  author: root;  state: Exp;  lines: +2 -2<br />
667 *** empty log message ***<br />
668 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
669 revision 1.19<br />
670 date: 2014/12/08 10:25:07;  author: root;  state: Exp;  lines: +18 -4<br />
671 free the second last scullqset<br />
reach at the last scullqset and free the memory of all quantam of last scullqset<br />
720 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
721 revision 1.6<br />
722 date: 2014/12/01 14:30:34;  author: root;  state: Exp;  lines: +0 -2<br />
723 omit OUT lable as not use yet<br />
724 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
725 revision 1.5<br />
726 date: 2014/12/01 11:27:33;  author: root;  state: Exp;  lines: +0 -1<br />
727 testing<br />
728 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
729 revision 1.4<br />
730 date: 2014/12/01 11:26:05;  author: root;  state: Exp;  lines: +2 -2<br />
731 testing<br />
date: 2014/12/01 11:13:05;  author: root;  state: Exp;  lines: +2 -2<br />
735 chage the formal argument type from ScullQset to ScullDev<br />
736 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
737 revision 1.2<br />
738 date: 2014/12/01 10:51:30;  author: root;  state: Exp;  lines: +2 -0<br />
739 print begin and end of function<br />
740 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/12/trim-the-sculldev/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>llseek implementation</title>
		<link>https://www.emblogic.com/blog/12/llseek-implementation/</link>
		<comments>https://www.emblogic.com/blog/12/llseek-implementation/#comments</comments>
		<pubDate>Sat, 20 Dec 2014 08:16:40 +0000</pubDate>
		<dc:creator><![CDATA[Md. Isharat]]></dc:creator>
				<category><![CDATA[Character Driver]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=11932</guid>
		<description><![CDATA[RCS file: RCS/dev_llseek.c,v 896 Working file: dev_llseek.c 897 head: 1.1 898 branch: 899 locks: strict 900         root: 1.1 901 access list: 902 symbolic names: 903 keyword substitution: kv 904 total revisions: 1;     selected revisions: 1 905 description: 906 this llseek &#8230; <a href="https://www.emblogic.com/blog/12/llseek-implementation/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: RCS/dev_llseek.c,v<br />
896 Working file: dev_llseek.c<br />
897 head: 1.1<br />
898 branch:<br />
899 locks: strict<br />
900         root: 1.1<br />
901 access list:<br />
902 symbolic names:<br />
903 keyword substitution: kv<br />
904 total revisions: 1;     selected revisions: 1<br />
905 description:<br />
906 this llseek file</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/12/llseek-implementation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ioctl implementation</title>
		<link>https://www.emblogic.com/blog/12/ioctl-implementation/</link>
		<comments>https://www.emblogic.com/blog/12/ioctl-implementation/#comments</comments>
		<pubDate>Sat, 20 Dec 2014 08:15:18 +0000</pubDate>
		<dc:creator><![CDATA[Md. Isharat]]></dc:creator>
				<category><![CDATA[Character Driver]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=11926</guid>
		<description><![CDATA[RCS file: RCS/dev_ioctl.c,v 914 Working file: dev_ioctl.c 915 head: 1.6 916 branch: 917 locks: strict 918         root: 1.6 919 access list: 920 symbolic names: 921 keyword substitution: kv 922 total revisions: 6;     selected revisions: 6 923 description: 924 This is &#8230; <a href="https://www.emblogic.com/blog/12/ioctl-implementation/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: RCS/dev_ioctl.c,v<br />
914 Working file: dev_ioctl.c<br />
915 head: 1.6<br />
916 branch:<br />
917 locks: strict<br />
918         root: 1.6<br />
919 access list:<br />
920 symbolic names:<br />
921 keyword substitution: kv<br />
922 total revisions: 6;     selected revisions: 6<br />
923 description:<br />
924 This is our ioctl implementatuion  routine<br />
925 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
926 revision 1.6    locked by: root;<br />
927 date: 2014/12/19 10:50:59;  author: root;  state: Exp;  lines: +4 -2<br />
928 prototype for ioctl<br />
929 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
930 revision 1.5<br />
931 date: 2014/12/19 09:58:14;  author: root;  state: Exp;  lines: +1 -0<br />
932 mapped to routine<br />
933 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
934 revision 1.4<br />
935 date: 2014/12/19 09:42:49;  author: root;  state: Exp;  lines: +7 -0<br />
936 *** empty log message ***<br />
937 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
938 revision 1.3<br />
939 date: 2014/12/19 08:05:19;  author: root;  state: Exp;  lines: +1 -0<br />
940 *** empty log message ***<br />
941 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/12/ioctl-implementation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Device driver till  device open and close</title>
		<link>https://www.emblogic.com/blog/12/device-driver-till-device-open-and-close/</link>
		<comments>https://www.emblogic.com/blog/12/device-driver-till-device-open-and-close/#comments</comments>
		<pubDate>Mon, 01 Dec 2014 11:36:00 +0000</pubDate>
		<dc:creator><![CDATA[Md. Isharat]]></dc:creator>
				<category><![CDATA[Character Driver]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=11898</guid>
		<description><![CDATA[RCS file: RCS/header.h,v Working file: header.h head: 1.8 branch: locks: strict root: 1.8 access list: symbolic names: keyword substitution: kv total revisions: 8;    selected revisions: 8 description: This is main header file All the required header file are include here &#8230; <a href="https://www.emblogic.com/blog/12/device-driver-till-device-open-and-close/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: RCS/header.h,v<br />
Working file: header.h<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 />
This is main header file<br />
All the required header file are include here<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8    locked by: root;<br />
date: 2014/12/01 14:29:46;  author: root;  state: Exp;  lines: +6 -1<br />
include kernel.h<br />
used ifndef macro<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2014/11/29 07:24:42;  author: root;  state: Exp;  lines: +10 -1<br />
define QSET and QUANTAM macro<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2014/11/26 16:50:17;  author: root;  state: Exp;  lines: +1 -0<br />
include slab.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2014/11/26 09:48:43;  author: root;  state: Exp;  lines: +1 -0<br />
include moduleparam.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2014/11/26 06:18:39;  author: root;  state: Exp;  lines: +1 -0<br />
included the linux/kdev_t to get the defination of MAJOR and MINOR macro<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/11/25 17:31:08;  author: root;  state: Exp;  lines: +7 -0<br />
define MINOR_NO and NOD macro<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/11/24 09:56:10;  author: root;  state: Exp;  lines: +1 -0<br />
include linux/fs.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/11/23 10:35:10;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/declaration.h,v<br />
Working file: declaration.h<br />
head: 1.18<br />
branch:<br />
locks: strict<br />
root: 1.18<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 18;    selected revisions: 18<br />
description:<br />
this is Declaration file where prototype of function will be given<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18    locked by: root;<br />
date: 2014/12/01 16:43:33;  author: root;  state: Exp;  lines: +1 -1<br />
changed argumnets<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2014/12/01 16:05:01;  author: root;  state: Exp;  lines: +3 -2<br />
added routine for trim<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2014/12/01 14:30:10;  author: root;  state: Exp;  lines: +0 -1<br />
remove the redclaration of fops<br />
declare open and release routines<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2014/12/01 13:15:50;  author: root;  state: Exp;  lines: +2 -0<br />
added dev_open call<br />
added dev_release call<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2014/11/29 10:42:51;  author: root;  state: Exp;  lines: +1 -1<br />
declare new_dev of type dev_t<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2014/11/29 07:25:05;  author: root;  state: Exp;  lines: +6 -1<br />
define quantam and qset of type extern int<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2014/11/27 06:33:16;  author: root;  state: Exp;  lines: +1 -1<br />
change the name of dev_new to dev<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2014/11/26 16:51:29;  author: root;  state: Exp;  lines: +11 -0<br />
declare structure name struct ScullDev and ScullQset<br />
declare structure variable sculldev of type struct ScullDev<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2014/11/26 09:49:15;  author: root;  state: Exp;  lines: +2 -0<br />
declara a int type variable to get the module parameter<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2014/11/26 06:19:50;  author: root;  state: Exp;  lines: +3 -3<br />
chnage the name of dev_t type variable from device to dev_new<br />
declare a variable type extern unsigned int to get the major_no from the macro<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2014/11/25 17:43:55;  author: root;  state: Exp;  lines: +2 -2<br />
comment the declaration of initialization and cleanup function as no need to declare in this file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2014/11/25 17:32:04;  author: root;  state: Exp;  lines: +4 -4<br />
declare: dev_t device<br />
unsigned int nod<br />
remove the declaration of struct file_operation f_ops<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2014/11/25 05:10:49;  author: root;  state: Exp;  lines: +2 -2<br />
omit extern word from the function declaration<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2014/11/24 10:20:47;  author: root;  state: Exp;  lines: +2 -2<br />
declare the dev_name and f_ops as const as well<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2014/11/24 09:57:00;  author: root;  state: Exp;  lines: +6 -1<br />
#define the MAJOR_NO 0<br />
declare some extern variable like major_no,dev_name,fops<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/11/24 08:22:02;  author: root;  state: Exp;  lines: +2 -2<br />
make the initialization_func extern<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/11/24 07:30:42;  author: root;  state: Exp;  lines: +2 -2<br />
omit the word extern from the function declaration<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/11/23 10:35:57;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/init.c,v<br />
Working file: init.c<br />
head: 1.27<br />
branch:<br />
locks: strict<br />
root: 1.27<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 27;    selected revisions: 27<br />
description:<br />
this is intialiazation file<br />
module_init is used here<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.27    locked by: root;<br />
date: 2014/12/01 14:30:51;  author: root;  state: Exp;  lines: +1 -1<br />
header include file_oper.h<br />
removed fops<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.26<br />
date: 2014/11/30 08:57:52;  author: root;  state: Exp;  lines: +3 -3<br />
add ; after nod<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.25<br />
date: 2014/11/30 06:47:32;  author: root;  state: Exp;  lines: +1 -1<br />
testing<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.24<br />
date: 2014/11/29 10:48:00;  author: root;  state: Exp;  lines: +3 -3<br />
use loop variable to get all minor no<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.23<br />
date: 2014/11/29 10:43:37;  author: root;  state: Exp;  lines: +20 -19<br />
add all the devices by cdev_add func using a for loop<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22<br />
date: 2014/11/29 07:26:03;  author: root;  state: Exp;  lines: +18 -6<br />
implement cdev_init,<br />
cdev_add<br />
to add our device discription into device entry table<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2014/11/27 06:33:46;  author: root;  state: Exp;  lines: +14 -29<br />
make module parameter = to nod<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2014/11/27 06:09:53;  author: root;  state: Exp;  lines: +1 -1<br />
testing<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2014/11/26 16:53:18;  author: root;  state: Exp;  lines: +11 -4<br />
implement function kmalloc to provide memory to sculldev<br />
memset the sculldev with one&#8217;s<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2014/11/26 09:49:57;  author: root;  state: Exp;  lines: +5 -4<br />
define mparam and print it to verify<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2014/11/26 08:42:18;  author: root;  state: Exp;  lines: +2 -2<br />
make minor_no=minor_no+1<br />
after the initial device register<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2014/11/26 07:35:18;  author: root;  state: Exp;  lines: +5 -0<br />
testing on re-registration of device<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2014/11/26 07:20:53;  author: root;  state: Exp;  lines: +1 -0<br />
make nod=nod+1 when re-registration will take place<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2014/11/26 07:15:22;  author: root;  state: Exp;  lines: +4 -7<br />
checking for reregistration attemp of driver<br />
implement register_chrdev_region function<br />
In previous version this function was commented<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2014/11/26 07:06:18;  author: root;  state: Exp;  lines: +3 -3<br />
testing<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2014/11/26 07:02:51;  author: root;  state: Exp;  lines: +3 -3<br />
assigned the value to nod from the NOD macro<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2014/11/26 06:44:19;  author: root;  state: Exp;  lines: +22 -10<br />
implement the register_chrdev_region function to register the more no of device on the same major no<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2014/11/26 06:22:29;  author: root;  state: Exp;  lines: +17 -7<br />
get the major and minor no by using MAJOR(dev_new) and MINOR(dev_new) macro<br />
print the value of major and minor no<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2014/11/25 17:45:02;  author: root;  state: Exp;  lines: +10 -2<br />
check the return value of alloc_chrdev_region function and print message on failure<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2014/11/25 17:34:44;  author: root;  state: Exp;  lines: +8 -5<br />
define register_chrdev_region function<br />
sorry,, define alloc_chrdev_region function to register the device<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2014/11/24 10:22:01;  author: root;  state: Exp;  lines: +2 -2<br />
add the const keyword with dev_name and struct file_operations f_ops<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2014/11/24 09:58:45;  author: root;  state: Exp;  lines: +8 -1<br />
define major_no,dev_name,fops<br />
implement the register_chrdev function to register the device<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2014/11/24 08:22:47;  author: root;  state: Exp;  lines: +8 -14<br />
omit exit part<br />
now it contain only initialization_func<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2014/11/24 07:48:21;  author: root;  state: Exp;  lines: +8 -3<br />
direct include header.h<br />
not include declaration.h<br />
declare function<br />
problem : the message inside the initialization_func is printed at when rmmod is calling or we can say when cleanup function is calling<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/11/24 07:31:24;  author: root;  state: Exp;  lines: +2 -2<br />
make initialization and cleanup function static<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/11/24 07:16:36;  author: root;  state: Exp;  lines: +5 -0<br />
define the exit function in the init file as not getting the desire output<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/11/23 10:36:49;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/application.c,v<br />
Working file: application.c<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 />
created file_ops<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2    locked by: root;<br />
date: 2014/12/01 12:07:07;  author: root;  state: Exp;  lines: +1 -1<br />
print the fd<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/12/01 11:48:15;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================<br />
rlog: RCS/file_oper.h,v: No such file or directory</p>
<p>RCS file: RCS/dev_open.c,v<br />
Working file: dev_open.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 />
routines for device open call<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3    locked by: root;<br />
date: 2014/12/01 16:43:50;  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: 2014/12/01 16:06:00;  author: root;  state: Exp;  lines: +5 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/12/01 14:31:16;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/dev_release.c,v<br />
Working file: dev_release.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 />
routines for relase a device<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1    locked by: root;<br />
date: 2014/12/01 14:31:33;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/dev_trim.c,v<br />
Working file: dev_trim.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 />
called dev_trim routines<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4    locked by: root;<br />
date: 2014/12/01 16:44:49;  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: 2014/12/01 16:43: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.2<br />
date: 2014/12/01 16:08:08;  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: 2014/12/01 16:05:24;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/exit.c,v<br />
Working file: exit.c<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 />
this is cleanup file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10    locked by: root;<br />
date: 2014/11/29 10:45:27;  author: root;  state: Exp;  lines: +3 -1<br />
delete all the device using cdev_del<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2014/11/29 07:27:39;  author: root;  state: Exp;  lines: +1 -0<br />
implement cdev_del to delete the entry before unregistering<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2014/11/27 06:34:15;  author: root;  state: Exp;  lines: +1 -1<br />
change the name of dev_new to dev<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2014/11/26 16:55:24;  author: root;  state: Exp;  lines: +1 -0<br />
free the allocated memory to sculldev with kfree function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2014/11/26 06:24:04;  author: root;  state: Exp;  lines: +1 -1<br />
change the name of dev_t type variable from device to dev_new<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2014/11/25 17:36:42;  author: root;  state: Exp;  lines: +1 -1<br />
define the unregister_chrdev_region function to unregister the device<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2014/11/24 10:22:59;  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: 2014/11/24 09:59:48;  author: root;  state: Exp;  lines: +1 -0<br />
implement the unregister_chrdev function to unregister the device<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/11/24 08:24:38;  author: root;  state: Exp;  lines: +1 -1<br />
put \n at the end of printk statement<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/11/23 10:37:26;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/12/device-driver-till-device-open-and-close/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Communication between client and server through socket with Domain-AF_INET</title>
		<link>https://www.emblogic.com/blog/11/communication-between-client-and-server-through-socket-with-domain-af_inet/</link>
		<comments>https://www.emblogic.com/blog/11/communication-between-client-and-server-through-socket-with-domain-af_inet/#comments</comments>
		<pubDate>Fri, 07 Nov 2014 12:31:36 +0000</pubDate>
		<dc:creator><![CDATA[Md. Isharat]]></dc:creator>
				<category><![CDATA[Project 04: FTP based Client Server using Threads and Sockets]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=11733</guid>
		<description><![CDATA[RCS file: RCS/server.c,v Working file: server.c head: 1.6 branch: locks: strict access list: symbolic names: keyword substitution: kv total revisions: 6;    selected revisions: 6 description: main server file Include socket.h and types.h —————————- revision 1.6 date: 2014/11/06 05:25:09;  author: root;  &#8230; <a href="https://www.emblogic.com/blog/11/communication-between-client-and-server-through-socket-with-domain-af_inet/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<h1 class="entry-title"></h1>
<p>RCS file: RCS/server.c,v<br />
Working file: server.c<br />
head: 1.6<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 6;    selected revisions: 6<br />
description:<br />
main server file<br />
Include socket.h and types.h<br />
—————————-<br />
revision 1.6<br />
date: 2014/11/06 05:25:09;  author: root;  state: Exp;  lines: +10 -7<br />
make server in while 1<br />
—————————-<br />
revision 1.5<br />
date: 2014/11/05 07:16:21;  author: root;  state: Exp;  lines: +1 -1<br />
*** empty log message ***<br />
—————————-<br />
revision 1.4<br />
date: 2014/11/04 12:11:14;  author: root;  state: Exp;  lines: +1 -0<br />
server write after reading from client<br />
—————————-<br />
revision 1.3<br />
date: 2014/11/04 12:02:06;  author: root;  state: Exp;  lines: +1 -0<br />
use perror after listen call<br />
—————————-<br />
revision 1.2<br />
date: 2014/11/04 12:00:45;  author: root;  state: Exp;  lines: +32 -1<br />
done<br />
—————————-<br />
revision 1.1<br />
date: 2014/11/04 10:35:37;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/client.c,v<br />
Working file: client.c<br />
head: 1.4<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 4;    selected revisions: 4<br />
description:<br />
1st client file<br />
include header file<br />
—————————-<br />
revision 1.4<br />
date: 2014/11/06 05:25:29;  author: root;  state: Exp;  lines: +11 -5<br />
usr will enter the data to send<br />
“close” will terminate the communication<br />
—————————-<br />
revision 1.3<br />
date: 2014/11/04 12:11:33;  author: root;  state: Exp;  lines: +3 -0<br />
client read after writing<br />
—————————-<br />
revision 1.2<br />
date: 2014/11/04 12:00:54;  author: root;  state: Exp;  lines: +16 -1<br />
done<br />
—————————-<br />
revision 1.1<br />
date: 2014/11/04 10:36:10;  author: root;  state: Exp;<br />
Initial revision</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/11/communication-between-client-and-server-through-socket-with-domain-af_inet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
