<?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; Joon Vichitra</title>
	<atom:link href="https://www.emblogic.com/blog/author/vichitrajoon51/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>rlog of  dev_open dev_release.c ,dev_trim.c ,application.c ,dev_llseek.c ,dev_ioctl.c in character driver(till ioctl)</title>
		<link>https://www.emblogic.com/blog/12/rlog-of-dev_open-dev_release-c-dev_trim-c-application-c-dev_llseek-c-dev_ioctl-c-in-character-drivertill-ioctl/</link>
		<comments>https://www.emblogic.com/blog/12/rlog-of-dev_open-dev_release-c-dev_trim-c-application-c-dev_llseek-c-dev_ioctl-c-in-character-drivertill-ioctl/#comments</comments>
		<pubDate>Sat, 20 Dec 2014 08:30:41 +0000</pubDate>
		<dc:creator><![CDATA[Joon Vichitra]]></dc:creator>
				<category><![CDATA[Character Driver]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=11942</guid>
		<description><![CDATA[RCS file: RCS/dev_open.c,v Working file: dev_open.c head: 1.13 branch: locks: strict root: 1.13 access list: symbolic names: keyword substitution: kv total revisions: 13; selected revisions: 13 description: this file contain our dev_open routine &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- revision 1.13 locked by: root; date: &#8230; <a href="https://www.emblogic.com/blog/12/rlog-of-dev_open-dev_release-c-dev_trim-c-application-c-dev_llseek-c-dev_ioctl-c-in-character-drivertill-ioctl/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: RCS/dev_open.c,v<br />
Working file: dev_open.c<br />
head: 1.13<br />
branch:<br />
locks: strict<br />
	root: 1.13<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 13;	selected revisions: 13<br />
description:<br />
this file contain our dev_open routine<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13	locked by: root;<br />
date: 2014/12/14 17: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.12<br />
date: 2014/12/14 12:07:09;  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: 2014/12/14 12:01:07;  author: root;  state: Exp;  lines: +5 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2014/12/14 11:55:00;  author: root;  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: 2014/12/14 05:32:17;  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: 2014/12/09 06:23:47;  author: root;  state: Exp;  lines: +8 -0<br />
put all the printk statement inside #ifdefine DEBUG<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2014/12/08 10:11:34;  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: 2014/12/08 08:28:11;  author: root;  state: Exp;  lines: +1 -1<br />
define int totalq<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2014/12/02 10:26:21;  author: root;  state: Exp;  lines: +1 -1<br />
testing<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2014/12/01 11:10:45;  author: root;  state: Exp;  lines: +1 -1<br />
give the lsculldev as argument to dev_trim()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/12/01 10:55:43;  author: root;  state: Exp;  lines: +2 -0<br />
call dev_trim() if node is open in write only mode<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/12/01 08:49:07;  author: root;  state: Exp;  lines: +2 -0<br />
print begin and end of function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/12/01 08:38:18;  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.6<br />
branch:<br />
locks: strict<br />
	root: 1.6<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 6;	selected revisions: 6<br />
description:<br />
this file contain our dev_release routine<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6	locked by: root;<br />
date: 2014/12/14 12:01:08;  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: 2014/12/14 11:55:01;  author: root;  state: Exp;  lines: +3 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2014/12/09 06:23:50;  author: root;  state: Exp;  lines: +4 -1<br />
put all the printk statement inside #ifdefine DEBUG<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/12/01 08:51:22;  author: root;  state: Exp;  lines: +3 -1<br />
testing<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/12/01 08:49:11;  author: root;  state: Exp;  lines: +2 -0<br />
print begin and end of function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/12/01 08:38:51;  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.34<br />
branch:<br />
locks: strict<br />
	root: 1.34<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 34;	selected revisions: 34<br />
description:<br />
this file is used to trim the scull<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.34	locked by: root;<br />
date: 2014/12/19 11:53: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.33<br />
date: 2014/12/19 11:48:03;  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: 2014/12/19 09:58: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.31<br />
date: 2014/12/14 17:46:59;  author: root;  state: Exp;  lines: +0 -6<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.30<br />
date: 2014/12/14 11:55:03;  author: root;  state: Exp;  lines: +4 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.29<br />
date: 2014/12/13 11:15:24;  author: root;  state: Exp;  lines: +4 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.28<br />
date: 2014/12/11 11:41:51;  author: root;  state: Exp;  lines: +1 -1<br />
done triming<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.27<br />
date: 2014/12/11 11:39:50;  author: root;  state: Exp;  lines: +5 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.26<br />
date: 2014/12/11 11:36:55;  author: root;  state: Exp;  lines: +2 -2<br />
testing<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.25<br />
date: 2014/12/11 11:33:18;  author: root;  state: Exp;  lines: +3 -0<br />
testing<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.24<br />
date: 2014/12/11 11:29:04;  author: root;  state: Exp;  lines: +24 -6<br />
free all the valid quantum one by one in reverse order<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.23<br />
date: 2014/12/11 10:38:20;  author: root;  state: Exp;  lines: +1 -1<br />
finding last valid quantum in last scullqset<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22<br />
date: 2014/12/11 10:32:57;  author: root;  state: Exp;  lines: +12 -31<br />
find the last and second last scullqset<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2014/12/09 06:23:53;  author: root;  state: Exp;  lines: +15 -2<br />
put all the printk statement inside #ifdefine DEBUG<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2014/12/08 10:27:41;  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: 2014/12/08 10:25:07;  author: root;  state: Exp;  lines: +18 -4<br />
free the second last scullqset<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2014/12/08 10:11:36;  author: root;  state: Exp;  lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2014/12/08 10:05:26;  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: 2014/12/08 10:03:50;  author: root;  state: Exp;  lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2014/12/08 10:02:40;  author: root;  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: 2014/12/08 09:23:59;  author: root;  state: Exp;  lines: +4 -4<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2014/12/08 09:21:22;  author: root;  state: Exp;  lines: +5 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2014/12/08 08:28:30;  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: 2014/12/08 07:40:11;  author: root;  state: Exp;  lines: +11 -7<br />
calculate the no of quantum in last qset and free their memory<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2014/12/08 07:25:47;  author: root;  state: Exp;  lines: +3 -3<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2014/12/08 07:01:39;  author: root;  state: Exp;  lines: +4 -3<br />
print lv inside the trim<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2014/12/08 06:49:41;  author: root;  state: Exp;  lines: +15 -16<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2014/12/08 06:40:04;  author: root;  state: Exp;  lines: +18 -0<br />
reach at the last scullqset and free the memory of all quantam of last scullqset<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2014/12/01 14:30:34;  author: root;  state: Exp;  lines: +0 -2<br />
omit OUT lable as not use yet<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2014/12/01 11:27:33;  author: root;  state: Exp;  lines: +0 -1<br />
testing<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2014/12/01 11:26:05;  author: root;  state: Exp;  lines: +2 -2<br />
testing<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/12/01 11:13:05;  author: root;  state: Exp;  lines: +2 -2<br />
chage the formal argument type from ScullQset to ScullDev<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/12/01 10:51:30;  author: root;  state: Exp;  lines: +2 -0<br />
print begin and end of function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/12/01 10:43:11;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/application.c,v<br />
Working file: application.c<br />
head: 1.33<br />
branch:<br />
locks: strict<br />
	root: 1.33<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 33;	selected revisions: 33<br />
description:<br />
This is our application file<br />
It open the node in write only mode<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.33	locked by: root;<br />
date: 2014/12/19 10:50:57;  author: root;  state: Exp;  lines: +5 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.32<br />
date: 2014/12/19 09:58:06;  author: root;  state: Exp;  lines: +4 -9<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.31<br />
date: 2014/12/19 09:42:25;  author: root;  state: Exp;  lines: +9 -5<br />
give SET_Q command through ioctl<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.30<br />
date: 2014/12/19 08:03: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.29<br />
date: 2014/12/19 08:01: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.28<br />
date: 2014/12/19 07:58: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.27<br />
date: 2014/12/19 07:54:22;  author: root;  state: Exp;  lines: +13 -4<br />
give the command using ioctl<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.26<br />
date: 2014/12/12 11:15:42;  author: root;  state: Exp;  lines: +3 -1<br />
call the lseek to change the position in file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.25<br />
date: 2014/12/12 08:33: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.24<br />
date: 2014/12/12 08:31: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.23<br />
date: 2014/12/12 08:30: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.22<br />
date: 2014/12/12 08:28: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.21<br />
date: 2014/12/12 08: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.20<br />
date: 2014/12/11 12:05: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.19<br />
date: 2014/12/11 11:56:26;  author: root;  state: Exp;  lines: +3 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2014/12/11 08:30:15;  author: root;  state: Exp;  lines: +1 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2014/12/11 07:15: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.16<br />
date: 2014/12/11 07:13: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.15<br />
date: 2014/12/11 06:31: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: 2014/12/11 06:28:18;  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: 2014/12/09 07:19:06;  author: root;  state: Exp;  lines: +5 -3<br />
print the return value of write and read<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2014/12/08 10:05: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.11<br />
date: 2014/12/08 09:48: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: 2014/12/08 07:25:37;  author: root;  state: Exp;  lines: +1 -1<br />
write more no. of byte<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2014/12/05 10:57:38;  author: root;  state: Exp;  lines: +2 -1<br />
read some byte<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2014/12/05 09:48:21;  author: root;  state: Exp;  lines: +3 -3<br />
write some no of byte<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2014/12/04 10:33:46;  author: root;  state: Exp;  lines: +2 -2<br />
aomit divide by 8 while calculating no of scullqset<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2014/12/04 08:32: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.5<br />
date: 2014/12/04 08:26:13;  author: root;  state: Exp;  lines: +1 -1<br />
testing<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2014/12/04 08:23:47;  author: root;  state: Exp;  lines: +1 -1<br />
testing<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/12/04 07:20:45;  author: root;  state: Exp;  lines: +16 -4<br />
implement write operation and close fd<br />
open node in read mode and read some byte<br />
close the read fd<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/12/01 06:46:24;  author: root;  state: Exp;  lines: +1 -1<br />
testing<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/12/01 06:28:18;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/dev_llseek.c,v<br />
Working file: dev_llseek.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 llseek file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1	locked by: root;<br />
date: 2014/12/13 10:50:06;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/dev_ioctl.c,v<br />
Working file: dev_ioctl.c<br />
head: 1.6<br />
branch:<br />
locks: strict<br />
	root: 1.6<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 6;	selected revisions: 6<br />
description:<br />
This is our ioctl routine<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6	locked by: root;<br />
date: 2014/12/19 10:50:59;  author: root;  state: Exp;  lines: +4 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2014/12/19 09:58: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.4<br />
date: 2014/12/19 09:42:49;  author: root;  state: Exp;  lines: +7 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/12/19 08:05: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.2<br />
date: 2014/12/19 07:58:04;  author: root;  state: Exp;  lines: +7 -0<br />
include begin, end printk statement<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/12/19 07:54:46;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/12/rlog-of-dev_open-dev_release-c-dev_trim-c-application-c-dev_llseek-c-dev_ioctl-c-in-character-drivertill-ioctl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>rlog of header.h,file_oper.h,ioctl.h,init.c,exit.c, in character driver(till ioctl)</title>
		<link>https://www.emblogic.com/blog/12/rlog-of-header-hfile_oper-hioctl-hinit-cexit-c-in-character-drivertill-ioctl/</link>
		<comments>https://www.emblogic.com/blog/12/rlog-of-header-hfile_oper-hioctl-hinit-cexit-c-in-character-drivertill-ioctl/#comments</comments>
		<pubDate>Sat, 20 Dec 2014 08:25:59 +0000</pubDate>
		<dc:creator><![CDATA[Joon Vichitra]]></dc:creator>
				<category><![CDATA[Character Driver]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=11928</guid>
		<description><![CDATA[RCS file: RCS/header.h,v Working file: header.h head: 1.17 branch: locks: strict root: 1.17 access list: symbolic names: keyword substitution: kv total revisions: 17;    selected revisions: 17 description: This is main header file All the required header file are include here &#8230; <a href="https://www.emblogic.com/blog/12/rlog-of-header-hfile_oper-hioctl-hinit-cexit-c-in-character-drivertill-ioctl/">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.17<br />
branch:<br />
locks: strict<br />
root: 1.17<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 17;    selected revisions: 17<br />
description:<br />
This is main header file<br />
All the required header file are include here</p>
<p>revision 1.16<br />
date: 2014/12/19 07:52:35;  author: root;  state: Exp;  lines: +4 -1<br />
include ioctl.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2014/12/13 09:28:18;  author: root;  state: Exp;  lines: +1 -1<br />
include semaphore.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
.<br />
.<br />
.<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 />
=============================================================================<br />
RCS file: RCS/file_oper.h,v<br />
Working file: file_oper.h<br />
head: 1.5<br />
branch:<br />
locks: strict<br />
	root: 1.5<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 5;	selected revisions: 5<br />
description:<br />
this is file_operation file where we will map our file related routine<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5	locked by: root;<br />
date: 2014/12/19 07:53:18;  author: root;  state: Exp;  lines: +2 -1<br />
mapped the unlocked_ioctl with our routine &#8220;dev_ioctl&#8221;<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
.<br />
.<br />
.<br />
revision 1.2<br />
date: 2014/12/01 08:36:49;  author: root;  state: Exp;  lines: +8 -2<br />
mapped the open call to our routine(dev_open)<br />
mapped the release(close) call to our routine<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/12/01 07:00:53;  author: root;  state: Exp;<br />
Initial revision<br />
=======================================================================</p>
<p>RCS file: RCS/declaration.h,v<br />
Working file: declaration.h<br />
head: 1.26<br />
branch:<br />
locks: strict<br />
	root: 1.26<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 26;	selected revisions: 26<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.26	locked by: root;<br />
date: 2014/12/19 07:52:49;  author: root;  state: Exp;  lines: +1 -0<br />
gave the prototype for dev_ioctl()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.25<br />
date: 2014/12/13 09:28:32;  author: root;  state: Exp;  lines: +1 -0<br />
declare variable &#8216;sem&#8217; of type struct semaphore inside struct Sculldev<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.24<br />
date: 2014/12/12 11:15:16;  author: root;  state: Exp;  lines: +2 -0<br />
gave the prototype for dev_llseek()</p>
<p>.<br />
.<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 />
==================================================================<br />
RCS file: RCS/init.c,v<br />
Working file: init.c<br />
head: 1.33<br />
branch:<br />
locks: strict<br />
	root: 1.31<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 31;	selected revisions: 31<br />
description:<br />
this is intialiazation file<br />
module_init is used here<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>revision 1.31<br />
date: 2014/12/13 09:29:20;  author: root;  state: Exp;  lines: +2 -0<br />
implement sema_init() after cdev_init()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.30<br />
date: 2014/12/09 06:23:09;  author: root;  state: Exp;  lines: +23 -0<br />
put all the printk statement inside #ifdefine DEBUG<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
.<br />
.<br />
.<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 />
========================================================<br />
RCS file: RCS/exit.c,v<br />
Working file: exit.c<br />
head: 1.13</p>
<p>total revisions: 13;	selected revisions: 13<br />
description:<br />
this is cleanup file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13	locked by: root;<br />
date: 2014/12/09 06:23:37;  author: root;  state: Exp;  lines: +10 -0<br />
put all the printk statement inside #ifdefine DEBUG<br />
&#8212;&#8211;<br />
revision 1.11<br />
date: 2014/12/01 08:48:56;  author: root;  state: Exp;  lines: +2 -0<br />
print begin and end of function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<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 />
.<br />
.<br />
.<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</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/12/rlog-of-header-hfile_oper-hioctl-hinit-cexit-c-in-character-drivertill-ioctl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>communication between client and server(Both on different system) through socket with Domain-AF_INET</title>
		<link>https://www.emblogic.com/blog/11/communication-between-client-and-serverboth-on-different-system-through-socket-and-domain-af_inet/</link>
		<comments>https://www.emblogic.com/blog/11/communication-between-client-and-serverboth-on-different-system-through-socket-and-domain-af_inet/#comments</comments>
		<pubDate>Thu, 06 Nov 2014 05:33:36 +0000</pubDate>
		<dc:creator><![CDATA[Joon Vichitra]]></dc:creator>
				<category><![CDATA[Project 04: FTP based Client Server using Threads and Sockets]]></category>
		<category><![CDATA[AF_INET]]></category>
		<category><![CDATA[client-server]]></category>
		<category><![CDATA[socket]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=11696</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 &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- 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-serverboth-on-different-system-through-socket-and-domain-af_inet/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<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 />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<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 />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2014/11/05 07:16: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.4<br />
date: 2014/11/04 12:11:14;  author: root;  state: Exp;  lines: +1 -0<br />
server write after reading from client<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<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 />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/11/04 12:00:45;  author: root;  state: Exp;  lines: +32 -1<br />
done<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<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 />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<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 />
&#8220;close&#8221; will terminate the communication<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<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 />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/11/04 12:00:54;  author: root;  state: Exp;  lines: +16 -1<br />
done<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/11/04 10:36:10;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/11/communication-between-client-and-serverboth-on-different-system-through-socket-and-domain-af_inet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Done: client-server using AF_INET on the same system using loopback</title>
		<link>https://www.emblogic.com/blog/11/done-client-server-using-af_inet/</link>
		<comments>https://www.emblogic.com/blog/11/done-client-server-using-af_inet/#comments</comments>
		<pubDate>Tue, 04 Nov 2014 12:06:36 +0000</pubDate>
		<dc:creator><![CDATA[Joon Vichitra]]></dc:creator>
				<category><![CDATA[Project 04: FTP based Client Server using Threads and Sockets]]></category>
		<category><![CDATA[AF_INET]]></category>
		<category><![CDATA[server-client]]></category>
		<category><![CDATA[socket]]></category>
		<category><![CDATA[tcp]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=11683</guid>
		<description><![CDATA[RCS file: RCS/server.c,v Working file: server.c head: 1.3 branch: locks: strict access list: symbolic names: keyword substitution: kv total revisions: 3;    selected revisions: 3 description: main server file Include socket.h and types.h &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- revision 1.3 date: 2014/11/04 12:02:06;  author: root;  &#8230; <a href="https://www.emblogic.com/blog/11/done-client-server-using-af_inet/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: RCS/server.c,v<br />
Working file: server.c<br />
head: 1.3<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 3;    selected revisions: 3<br />
description:<br />
main server file<br />
Include socket.h and types.h<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<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 />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/11/04 12:00:45;  author: root;  state: Exp;  lines: +32 -1<br />
done<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<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.2<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2;    selected revisions: 2<br />
description:<br />
1st client file<br />
include header file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/11/04 12:00:54;  author: root;  state: Exp;  lines: +16 -1<br />
done<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/11/04 10:36:10;  author: root;  state: Exp;<br />
Initial revision<br />
==================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/11/done-client-server-using-af_inet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Client-server using socket (AF_UNIX)</title>
		<link>https://www.emblogic.com/blog/11/client-server-using-socket-af_unix/</link>
		<comments>https://www.emblogic.com/blog/11/client-server-using-socket-af_unix/#comments</comments>
		<pubDate>Mon, 03 Nov 2014 13:36:34 +0000</pubDate>
		<dc:creator><![CDATA[Joon Vichitra]]></dc:creator>
				<category><![CDATA[Project 04: FTP based Client Server using Threads and Sockets]]></category>
		<category><![CDATA[AF_UNIX]]></category>
		<category><![CDATA[client-server]]></category>
		<category><![CDATA[socket]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=11681</guid>
		<description><![CDATA[RCS file: RCS/client.c,v Working file: client.c head: 1.1 branch: locks: strict access list: symbolic names: keyword substitution: kv total revisions: 1;    selected revisions: 1 description: client requesting to server via socket &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- revision 1.1 date: 2014/11/03 13:31:01;  author: root;  state: &#8230; <a href="https://www.emblogic.com/blog/11/client-server-using-socket-af_unix/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: RCS/client.c,v<br />
Working file: client.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
client requesting to server via socket<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/11/03 13:31:01;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/server.c,v<br />
Working file: server.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
server file for the socket using AF_UNIX<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/11/03 13:29:21;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/11/client-server-using-socket-af_unix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Client,server and process communication project using signals</title>
		<link>https://www.emblogic.com/blog/09/clientserver-and-process-communication-project-using-signals/</link>
		<comments>https://www.emblogic.com/blog/09/clientserver-and-process-communication-project-using-signals/#comments</comments>
		<pubDate>Sat, 27 Sep 2014 13:41:24 +0000</pubDate>
		<dc:creator><![CDATA[Joon Vichitra]]></dc:creator>
				<category><![CDATA[Project 03: Client Server Communication using Linux and IPC]]></category>
		<category><![CDATA[client-server]]></category>
		<category><![CDATA[fork]]></category>
		<category><![CDATA[pipes]]></category>
		<category><![CDATA[signal]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=11534</guid>
		<description><![CDATA[Welcome to the Project!! n1=12, n2=23 Performing addition action In Server:Sum=35 In CLIENT: Result=35 n1=20, n2=8 Performing Subtraction action In Server:Sub=12 In CLIENT2: Result=12 n1=5, n2=8 Performing Multiplication action In Server:Mul=40 In CLIENT3: Result=40 RCS file: RCS/server.c,v Working file: server.c &#8230; <a href="https://www.emblogic.com/blog/09/clientserver-and-process-communication-project-using-signals/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><strong>Welcome to the Project!!</strong><br />
<strong>n1=12, n2=23 Performing addition action</strong><br />
<strong>In Server:Sum=35</strong><br />
<strong>In CLIENT: Result=35</strong><br />
<strong>n1=20, n2=8 Performing Subtraction action</strong><br />
<strong>In Server:Sub=12</strong><br />
<strong>In CLIENT2: Result=12</strong><br />
<strong>n1=5, n2=8 Performing Multiplication action</strong><br />
<strong>In Server:Mul=40</strong><br />
<strong>In CLIENT3: Result=40</strong></p>
<p>RCS file: RCS/server.c,v<br />
Working file: server.c<br />
head: 1.27<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 27;    selected revisions: 27<br />
description:<br />
program which act as a server to take the request of client<br />
done:created one child process and a pipe<br />
done:replace the child process with client1.c and send pfd[1] to the client as a command line argument<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.27<br />
date: 2014/09/27 13:32: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.26<br />
date: 2014/09/27 13:30:56;  author: root;  state: Exp;  lines: +1 -1<br />
fix child exit normally<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.25<br />
date: 2014/09/27 13:26:47;  author: root;  state: Exp;  lines: +5 -11<br />
remove extra printf<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.24<br />
date: 2014/09/27 13:20:47;  author: root;  state: Exp;  lines: +19 -6<br />
create 3rd client and process to perform multiplication<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.23<br />
date: 2014/09/27 13:07:11;  author: root;  state: Exp;  lines: +2 -2<br />
include client 2 also<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.22<br />
date: 2014/09/27 12:59:47;  author: root;  state: Exp;  lines: +1 -1<br />
send signal to client after reading the result from process pipe and writing the same into client pipe<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.21<br />
date: 2014/09/27 12:54:04;  author: root;  state: Exp;  lines: +4 -2<br />
get the pid of child in parent process inorder to send the signal using kill<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.20<br />
date: 2014/09/27 12:48:34;  author: root;  state: Exp;  lines: +7 -6<br />
get the id of process child into pid1<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.19<br />
date: 2014/09/27 05:37:45;  author: root;  state: Exp;  lines: +1 -0<br />
check char variable in switch case<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.18<br />
date: 2014/09/27 05:34:19;  author: root;  state: Exp;  lines: +1 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.17<br />
date: 2014/09/27 05:27:32;  author: root;  state: Exp;  lines: +1 -1<br />
change the position of signal handler<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.16<br />
date: 2014/09/27 05:25:13;  author: root;  state: Exp;  lines: +1 -1<br />
use pause to synchronise<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2014/09/27 05:18:07;  author: root;  state: Exp;  lines: +2 -2<br />
change the lable1 in front of fork<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2014/09/27 05:12:04;  author: root;  state: Exp;  lines: +21 -3<br />
create 1 client and 1 process for subtraction operation<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2014/09/26 19:00:34;  author: root;  state: Exp;  lines: +0 -1<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2014/09/26 18:55:32;  author: root;  state: Exp;  lines: +2 -0<br />
write the result into client pipe<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2014/09/26 18:51:04;  author: root;  state: Exp;  lines: +5 -1<br />
define function to handle sigusr1<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2014/09/26 18:46:22;  author: root;  state: Exp;  lines: +2 -2<br />
use pause()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2014/09/26 17:57:33;  author: root;  state: Exp;  lines: +30 -86<br />
remake the program without using any sleep instruction<br />
use structure to read the data from client<br />
write the num1 and num2 into process adder pipe<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2014/09/24 14:24:48;  author: root;  state: Exp;  lines: +0 -1<br />
change the o/p appearence<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2014/09/24 14:12:17;  author: root;  state: Exp;  lines: +42 -10<br />
read result from p1,p2,p3<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2014/09/24 13:08:55;  author: root;  state: Exp;  lines: +17 -3<br />
create one more child process to call process1.c<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2014/09/24 09:47:40;  author: root;  state: Exp;  lines: +31 -3<br />
read the data from all three client<br />
do switch case to perform different operation<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2014/09/24 08:38:36;  author: root;  state: Exp;  lines: +6 -6<br />
create 3 child of same parent to call diff-2 client<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/09/24 08:14:31;  author: root;  state: Exp;  lines: +18 -7<br />
crate another pipe for communication between server and process<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/09/24 06:39:04;  author: root;  state: Exp;  lines: +3 -0<br />
read the data through pipe sent by client1<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/09/24 06:22:18;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/client1.c,v<br />
Working file: client1.c<br />
head: 1.15<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 15;    selected revisions: 15<br />
description:<br />
client process which will replace the child process<br />
done:create the structure for operand and operation, get the pipe write fd as a command line argument<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.15<br />
date: 2014/09/27 13:21:15;  author: root;  state: Exp;  lines: +0 -2<br />
remove unwanted printf<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.14<br />
date: 2014/09/27 13:07:36;  author: root;  state: Exp;  lines: +1 -1<br />
don&#8217;t work  by ignoring so get back on handling the SIGUSR1<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.13<br />
date: 2014/09/27 13:03:41;  author: root;  state: Exp;  lines: +1 -2<br />
test on signal ignore<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.12<br />
date: 2014/09/27 13:00:28;  author: root;  state: Exp;  lines: +6 -1<br />
define the signal handler and use pause till the client get the result after writing the data into pipe<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.11<br />
date: 2014/09/27 12:54:35;  author: root;  state: Exp;  lines: +1 -0<br />
get pid of itself<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2014/09/27 05:34:35;  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: 2014/09/27 05:25:49;  author: root;  state: Exp;  lines: +1 -0<br />
send signal to parent using kill<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2014/09/26 18:55:49;  author: root;  state: Exp;  lines: +2 -1<br />
read the result from the server end<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2014/09/26 18: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.6<br />
date: 2014/09/26 17:59:29;  author: root;  state: Exp;  lines: +15 -8<br />
use structure to write the data into pipe<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2014/09/24 14:25:10;  author: root;  state: Exp;  lines: +0 -2<br />
change the o/p appearance<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2014/09/24 09:48:23;  author: root;  state: Exp;  lines: +6 -11<br />
write operater and two operand into pipe<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/09/24 08:15:04;  author: root;  state: Exp;  lines: +3 -1<br />
send the data to server and exit()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/09/24 06:39:32;  author: root;  state: Exp;  lines: +5 -1<br />
write the data into pipe so that server can read that<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/09/24 06:24:50;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/client2.c,v<br />
Working file: client2.c<br />
head: 1.10<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 10;    selected revisions: 10<br />
description:<br />
create client 2 to do the different mathematical operation<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.10<br />
date: 2014/09/27 13:21:39;  author: root;  state: Exp;  lines: +1 -4<br />
remove unwanted printf<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.9<br />
date: 2014/09/27 13:10:11;  author: root;  state: Exp;  lines: +3 -1<br />
remove syntex error<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2014/09/27 13:08:14;  author: root;  state: Exp;  lines: +3 -1<br />
write the signal handler<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2014/09/27 12:49:18;  author: root;  state: Exp;  lines: +1 -0<br />
use signal<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2014/09/27 05:34: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.5<br />
date: 2014/09/27 05:26:00;  author: root;  state: Exp;  lines: +2 -1<br />
send signal SIGUSR1 to server<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2014/09/27 05:12:30;  author: root;  state: Exp;  lines: +19 -8<br />
client for subtraction<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/09/24 16:13:23;  author: root;  state: Exp;  lines: +0 -2<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/09/24 09:48:57;  author: root;  state: Exp;  lines: +7 -15<br />
write into pipe<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/09/24 08:39:12;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/client3.c,v<br />
Working file: client3.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 />
create client 3<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2014/09/27 13:21:49;  author: root;  state: Exp;  lines: +21 -7<br />
create client for multiplication with signal handler after writing the data<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/09/24 14:25:40;  author: root;  state: Exp;  lines: +0 -2<br />
change the o/p appearance<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/09/24 09:49:23;  author: root;  state: Exp;  lines: +6 -13<br />
whrite into pipe<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/09/24 08:39:54;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/process1.c,v<br />
Working file: process1.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 />
this is process program which do the operation on data and return the result<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2014/09/27 13:26:59;  author: root;  state: Exp;  lines: +0 -1<br />
remove extra printf<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2014/09/26 18:46:37;  author: root;  state: Exp;  lines: +2 -0<br />
send signal using kill<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2014/09/26 17:59:53;  author: root;  state: Exp;  lines: +6 -16<br />
get the num1 and num2 from server and perform the addition operation<br />
wrirte back the sum into pipe<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/09/24 14:25:49;  author: root;  state: Exp;  lines: +0 -2<br />
change the o/p appearance<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/09/24 14:13:02;  author: root;  state: Exp;  lines: +8 -3<br />
write the result into pipe in interger form<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/09/24 13:09:17;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/process2.c,v<br />
Working file: process2.c<br />
head: 1.5<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 5;    selected revisions: 5<br />
description:<br />
process to perform &#8211; operation and writing the result back into the pipe<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2014/09/27 13:27:12;  author: root;  state: Exp;  lines: +0 -1<br />
remove extra printf<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2014/09/27 05:13:57;  author: root;  state: Exp;  lines: +1 -1<br />
use sub instead of sum<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/09/27 05:12:41;  author: root;  state: Exp;  lines: +7 -15<br />
processing end for subtraction<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/09/24 14:25:52;  author: root;  state: Exp;  lines: +0 -2<br />
change the o/p appearance<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/09/24 14:14:17;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/process3.c,v<br />
Working file: process3.c<br />
head: 1.3<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 3;    selected revisions: 3<br />
description:<br />
process 3 to perform multiplication<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/09/27 13:22:13;  author: root;  state: Exp;  lines: +7 -16<br />
process 3 for multiplication<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/09/24 14:25:55;  author: root;  state: Exp;  lines: +0 -2<br />
change the o/p appearance<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/09/24 14:14:52;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/09/clientserver-and-process-communication-project-using-signals/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>client,server and process communication via pipes</title>
		<link>https://www.emblogic.com/blog/09/clientserver-and-process-communication-via-pipes/</link>
		<comments>https://www.emblogic.com/blog/09/clientserver-and-process-communication-via-pipes/#comments</comments>
		<pubDate>Wed, 24 Sep 2014 14:33:41 +0000</pubDate>
		<dc:creator><![CDATA[Joon Vichitra]]></dc:creator>
				<category><![CDATA[Project 03: Client Server Communication using Linux and IPC]]></category>
		<category><![CDATA[client-server]]></category>
		<category><![CDATA[ipc]]></category>
		<category><![CDATA[pipe]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=11525</guid>
		<description><![CDATA[RCS file: RCS/server.c,v Working file: server.c head: 1.8 branch: locks: strict access list: symbolic names: keyword substitution: kv total revisions: 8;    selected revisions: 8 description: program which act as a server to take the request of client done:created one child &#8230; <a href="https://www.emblogic.com/blog/09/clientserver-and-process-communication-via-pipes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: RCS/server.c,v<br />
Working file: server.c<br />
head: 1.8<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 8;    selected revisions: 8<br />
description:<br />
program which act as a server to take the request of client<br />
done:created one child process and a pipe<br />
done:replace the child process with client1.c and send pfd[1] to the client as a command line argument<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.8<br />
date: 2014/09/24 14:24:48;  author: root;  state: Exp;  lines: +0 -1<br />
change the o/p appearence<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2014/09/24 14:12:17;  author: root;  state: Exp;  lines: +42 -10<br />
read result from p1,p2,p3<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2014/09/24 13:08:55;  author: root;  state: Exp;  lines: +17 -3<br />
create one more child process to call process1.c<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2014/09/24 09:47:40;  author: root;  state: Exp;  lines: +31 -3<br />
read the data from all three client<br />
do switch case to perform different operation<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2014/09/24 08:38:36;  author: root;  state: Exp;  lines: +6 -6<br />
create 3 child of same parent to call diff-2 client<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/09/24 08:14:31;  author: root;  state: Exp;  lines: +18 -7<br />
crate another pipe for communication between server and process<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/09/24 06:39:04;  author: root;  state: Exp;  lines: +3 -0<br />
read the data through pipe sent by client1<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/09/24 06:22:18;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/client1.c,v<br />
Working file: client1.c<br />
head: 1.5<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 5;    selected revisions: 5<br />
description:<br />
client process which will replace the child process<br />
done:create the structure for operand and operation, get the pipe write fd as a command line argument<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2014/09/24 14:25:10;  author: root;  state: Exp;  lines: +0 -2<br />
change the o/p appearance<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2014/09/24 09:48:23;  author: root;  state: Exp;  lines: +6 -11<br />
write operater and two operand into pipe<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/09/24 08:15:04;  author: root;  state: Exp;  lines: +3 -1<br />
send the data to server and exit()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/09/24 06:39:32;  author: root;  state: Exp;  lines: +5 -1<br />
write the data into pipe so that server can read that<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/09/24 06:24:50;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/client2.c,v<br />
Working file: client2.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 />
create client 2 to do the different mathematical operation<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2    locked by: root;<br />
date: 2014/09/24 09:48:57;  author: root;  state: Exp;  lines: +7 -15<br />
write into pipe<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/09/24 08:39:12;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/client3.c,v<br />
Working file: client3.c<br />
head: 1.3<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 3;    selected revisions: 3<br />
description:<br />
create client 3<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/09/24 14:25:40;  author: root;  state: Exp;  lines: +0 -2<br />
change the o/p appearance<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/09/24 09:49:23;  author: root;  state: Exp;  lines: +6 -13<br />
whrite into pipe<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/09/24 08:39:54;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/process1.c,v<br />
Working file: process1.c<br />
head: 1.3<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 3;    selected revisions: 3<br />
description:<br />
this is process program which do the operation on data and return the result<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/09/24 14:25:49;  author: root;  state: Exp;  lines: +0 -2<br />
change the o/p appearance<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/09/24 14:13:02;  author: root;  state: Exp;  lines: +8 -3<br />
write the result into pipe in interger form<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/09/24 13:09:17;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/process2.c,v<br />
Working file: process2.c<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2;    selected revisions: 2<br />
description:<br />
process to perform &#8211; operation and writing the result back into the pipe<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/09/24 14:25:52;  author: root;  state: Exp;  lines: +0 -2<br />
change the o/p appearance<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/09/24 14:14:17;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/process3.c,v<br />
Working file: process3.c<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2;    selected revisions: 2<br />
description:<br />
process 3 to perform multiplication<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/09/24 14:25:55;  author: root;  state: Exp;  lines: +0 -2<br />
change the o/p appearance<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/09/24 14:14:52;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/09/clientserver-and-process-communication-via-pipes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>process replacement followed by inter process comm. using file</title>
		<link>https://www.emblogic.com/blog/09/process-replacement-followed-by-inter-process-comm-using-file/</link>
		<comments>https://www.emblogic.com/blog/09/process-replacement-followed-by-inter-process-comm-using-file/#comments</comments>
		<pubDate>Mon, 22 Sep 2014 13:17:41 +0000</pubDate>
		<dc:creator><![CDATA[Joon Vichitra]]></dc:creator>
				<category><![CDATA[Project 03: Client Server Communication using Linux and IPC]]></category>
		<category><![CDATA[execl]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[ipc]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=11516</guid>
		<description><![CDATA[This is the output: [root@localhost ipc]# ./p_comm File Open Successfully This is Parent with id=31340 This is child with id=31341 This is a new program which replaced the child Write By Child:: Success Read by Parent: Success     Child Said:Hello &#8230; <a href="https://www.emblogic.com/blog/09/process-replacement-followed-by-inter-process-comm-using-file/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><strong>This is the output:</strong></p>
<p><strong>[root@localhost ipc]# ./p_comm </strong><br />
<strong>File Open Successfully</strong><br />
<strong>This is Parent with id=31340</strong><br />
<strong>This is child with id=31341</strong><br />
<strong>This is a new program which replaced the child</strong><br />
<strong>Write By Child:: Success</strong><br />
<strong>Read by Parent: Success</strong><br />
<strong>    Child Said:Hello Parent</strong><br />
<strong>Write by Parent: Success</strong><br />
<strong>Read By Child:: Success</strong><br />
<strong>    Parent said:Hi Child How are you?</strong><br />
<strong>Write By Child:: Success</strong><br />
<strong>Read by Parent: Success</strong><br />
<strong>    Child Said:I am Fine. U Tell?</strong><br />
<strong>Write by Parent: Success</strong><br />
<strong>Read By Child:: Success</strong><br />
<strong>    Parent said:We are also fine.Ok Bye</strong><br />
<strong>Child exit successfully and code is 0</strong></p>
<p>Log File</p>
<p>RCS file: RCS/p_comm.c,v<br />
Working file: p_comm.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 />
program to communicate between two process through a file<br />
done- opening a file in rdwr mode<br />
convert int fd into string to make compatiple with execl argument<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2014/09/22 12:46:24;  author: root;  state: Exp;  lines: +13 -3<br />
done:both read and write by parent in the same file<br />
Note: Before executing this program make sure that &#8220;child_comm.c&#8221; file must be in the same directory<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/09/22 12:10:56;  author: root;  state: Exp;  lines: +9 -4<br />
1st read by the parent and then reply back to child by writing into the same file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/09/22 11:53:56;  author: root;  state: Exp;  lines: +10 -4<br />
read the message written by child in a file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/09/22 11:23:57;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/child_comm.c,v<br />
Working file: child_comm.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 />
program which will replace the child to do inter process comm through file<br />
get fd through argv[0] and than convert into integer using atoi<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2014/09/22 12:48:25;  author: root;  state: Exp;  lines: +12 -2<br />
done:child repalace itself with this file using execl and this program then communicate with parent<br />
note:this program is linked with p_comm.c<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/09/22 12:11:48;  author: root;  state: Exp;  lines: +9 -2<br />
1st write the msg for parent and then read the msg from parent using the same file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/09/22 11:40:06;  author: root;  state: Exp;  lines: +4 -3<br />
got message which is to be written in file through argv[1]<br />
write the message into file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/09/22 11:32:27;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/09/process-replacement-followed-by-inter-process-comm-using-file/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Process replacement using execl</title>
		<link>https://www.emblogic.com/blog/09/process-replacement-using-execl/</link>
		<comments>https://www.emblogic.com/blog/09/process-replacement-using-execl/#comments</comments>
		<pubDate>Mon, 22 Sep 2014 13:09:46 +0000</pubDate>
		<dc:creator><![CDATA[Joon Vichitra]]></dc:creator>
				<category><![CDATA[Project 03: Client Server Communication using Linux and IPC]]></category>
		<category><![CDATA[execl]]></category>
		<category><![CDATA[ipc]]></category>
		<category><![CDATA[process replacement]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=11514</guid>
		<description><![CDATA[RCS file: p_replace.c,v Working file: p_replace.c head: 1.2 branch: locks: strict access list: symbolic names: keyword substitution: kv total revisions: 2;    selected revisions: 2 description: program to replace the child process using execl() &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- revision 1.2 date: 2014/09/22 10:22:30;  author: &#8230; <a href="https://www.emblogic.com/blog/09/process-replacement-using-execl/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: p_replace.c,v<br />
Working file: p_replace.c<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2;    selected revisions: 2<br />
description:<br />
program to replace the child process using execl()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/09/22 10:22:30;  author: root;  state: Exp;  lines: +9 -1<br />
use wait statement so that parent will wait till the child completed its execution<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/09/22 10:06:47;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: child.c,v<br />
Working file: child.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
sample program which replace the child when call by child through execl()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/09/22 10:06:07;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/09/process-replacement-using-execl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Completed creating a new process using fork, how orphan process works, wait by parent till child exit</title>
		<link>https://www.emblogic.com/blog/09/completed-creating-a-new-process-using-fork-how-orphan-process-works-wait-by-parent-till-child-exit/</link>
		<comments>https://www.emblogic.com/blog/09/completed-creating-a-new-process-using-fork-how-orphan-process-works-wait-by-parent-till-child-exit/#comments</comments>
		<pubDate>Mon, 22 Sep 2014 13:03:41 +0000</pubDate>
		<dc:creator><![CDATA[Joon Vichitra]]></dc:creator>
				<category><![CDATA[Project 03: Client Server Communication using Linux and IPC]]></category>
		<category><![CDATA[fork]]></category>
		<category><![CDATA[ipc]]></category>
		<category><![CDATA[orphan]]></category>
		<category><![CDATA[parent child]]></category>
		<category><![CDATA[wait]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=11512</guid>
		<description><![CDATA[RCS file: fork.c,v Working file: fork.c head: 1.4 branch: locks: strict access list: symbolic names: keyword substitution: kv total revisions: 4;    selected revisions: 4 description: program to create a duplicate process using fork &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- revision 1.4 date: 2014/09/18 17:37:44;  author: &#8230; <a href="https://www.emblogic.com/blog/09/completed-creating-a-new-process-using-fork-how-orphan-process-works-wait-by-parent-till-child-exit/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: fork.c,v<br />
Working file: fork.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 />
program to create a duplicate process using fork<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2014/09/18 17:37:44;  author: root;  state: Exp;  lines: +2 -0<br />
print child and its parent id<br />
check that orphan process have 1 as a parent id<br />
use sleep command to make sure that child not become orphan<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/09/18 17:34:40;  author: root;  state: Exp;  lines: +2 -2<br />
get pid of child<br />
print pid of parent<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/09/18 17:30:58;  author: root;  state: Exp;  lines: +11 -1<br />
create a child process using fork<br />
define the body of child and parent using if and else<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/09/18 17:27:22;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: fork2.c,v<br />
Working file: fork2.c<br />
head: 1.3<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 3;    selected revisions: 3<br />
description:<br />
use multiple fork to create more child and parent process<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/09/19 12:49:25;  author: root;  state: Exp;  lines: +5 -0<br />
*** empty log message ***<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/09/19 12:03:53;  author: root;  state: Exp;  lines: +2 -3<br />
create more process using multiple fork statement<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/09/19 11:11:06;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: orphan.c,v<br />
Working file: orphan.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 />
program to make a process orphan<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2014/09/20 09:36:08;  author: root;  state: Exp;  lines: +4 -2<br />
make child orphan and verify with output<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/09/19 13:54:25;  author: root;  state: Exp;  lines: +19 -10<br />
use if else to notify when the child became orphan<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/09/19 13:42:45;  author: root;  state: Exp;  lines: +4 -3<br />
get child id<br />
print parent id<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/09/19 13:16:57;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: wait.c,v<br />
Working file: wait.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
parent will wait till the child exit()<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/09/20 14:26:58;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/09/completed-creating-a-new-process-using-fork-how-orphan-process-works-wait-by-parent-till-child-exit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting  start with Pointer</title>
		<link>https://www.emblogic.com/blog/09/getting-start-with-pointer/</link>
		<comments>https://www.emblogic.com/blog/09/getting-start-with-pointer/#comments</comments>
		<pubDate>Thu, 04 Sep 2014 00:07:41 +0000</pubDate>
		<dc:creator><![CDATA[Joon Vichitra]]></dc:creator>
				<category><![CDATA[Data Structures with C]]></category>
		<category><![CDATA[call by reference]]></category>
		<category><![CDATA[pointer]]></category>
		<category><![CDATA[pointer to pointer]]></category>
		<category><![CDATA[pointer to string]]></category>
		<category><![CDATA[string match using pointer]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=11472</guid>
		<description><![CDATA[RCS file: RCS/basic_pointer.c,v Working file: basic_pointer.c head: 1.1 branch: locks: strict access list: symbolic names: keyword substitution: kv total revisions: 1;    selected revisions: 1 description: basic pointer to under stand &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- revision 1.1 date: 2014/08/29 09:22:19;  author: root;  state: Exp; &#8230; <a href="https://www.emblogic.com/blog/09/getting-start-with-pointer/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: RCS/basic_pointer.c,v<br />
Working file: basic_pointer.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
basic pointer to under stand<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/08/29 09:22:19;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/call_by_ref.c,v<br />
Working file: call_by_ref.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
e.g for call by reference<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/08/29 09:22:19;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/get_ascii.c,v<br />
Working file: get_ascii.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
to get ascii value<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/08/29 09:20:49;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/p2p.c,v<br />
Working file: p2p.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 />
pointer 2 pointer<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1    locked by: root;<br />
date: 2014/08/29 09:20:01;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/ptr_incriment.c,v<br />
Working file: ptr_incriment.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
good eg to inc and dec the pointer<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/08/29 09:23:51;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/ptr_str_match.c,v<br />
Working file: ptr_str_match.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
string match using pointer<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/08/29 09:23:51;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/09/getting-start-with-pointer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>User defined string header file using pointer</title>
		<link>https://www.emblogic.com/blog/09/user-defined-string-header-file-using-pointer/</link>
		<comments>https://www.emblogic.com/blog/09/user-defined-string-header-file-using-pointer/#comments</comments>
		<pubDate>Wed, 03 Sep 2014 15:54:06 +0000</pubDate>
		<dc:creator><![CDATA[Joon Vichitra]]></dc:creator>
				<category><![CDATA[Data Structures with C]]></category>
		<category><![CDATA[pointer to string]]></category>
		<category><![CDATA[string]]></category>
		<category><![CDATA[string header file]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=11470</guid>
		<description><![CDATA[RCS file: RCS/my_string.c,v Working file: my_string.c head: 1.1 branch: locks: strict access list: symbolic names: keyword substitution: kv total revisions: 1;    selected revisions: 1 description: My String Header File &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- revision 1.1 date: 2014/08/27 10:58:21;  author: root;  state: Exp; Initial &#8230; <a href="https://www.emblogic.com/blog/09/user-defined-string-header-file-using-pointer/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: RCS/my_string.c,v<br />
Working file: my_string.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
My String Header File<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/08/27 10:58:21;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/09/user-defined-string-header-file-using-pointer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Structure assignment upto 3 question</title>
		<link>https://www.emblogic.com/blog/09/structure-assignment-upto-3-question/</link>
		<comments>https://www.emblogic.com/blog/09/structure-assignment-upto-3-question/#comments</comments>
		<pubDate>Wed, 03 Sep 2014 15:24:56 +0000</pubDate>
		<dc:creator><![CDATA[Joon Vichitra]]></dc:creator>
				<category><![CDATA[Data Structures with C]]></category>
		<category><![CDATA[add distance using structure]]></category>
		<category><![CDATA[structure]]></category>
		<category><![CDATA[structure with pointer]]></category>
		<category><![CDATA[student data using structure]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=11467</guid>
		<description><![CDATA[RCS file: RCS/01_structure.c,v Working file: 01_structure.c head: 1.2 branch: locks: strict access list: symbolic names: keyword substitution: kv total revisions: 2;    selected revisions: 2 description: 1st question of structure assignment &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- revision 1.2 date: 2014/09/02 10:08:42;  author: root;  state: Exp;  &#8230; <a href="https://www.emblogic.com/blog/09/structure-assignment-upto-3-question/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>RCS file: RCS/01_structure.c,v<br />
Working file: 01_structure.c<br />
head: 1.2<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 2;    selected revisions: 2<br />
description:<br />
1st question of structure assignment<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/09/02 10:08:42;  author: root;  state: Exp;  lines: +8 -7<br />
student data using structure pointer<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/09/02 09:48:03;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/02_distance.c,v<br />
Working file: 02_distance.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
adding two distance and then convert into meter and cm<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/09/02 13:51:26;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/03_distance_ptr.c,v<br />
Working file: 03_distance_ptr.c<br />
head: 1.1<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 1;    selected revisions: 1<br />
description:<br />
distance add and conversition unsing pointer<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/09/02 17:59:29;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/09/structure-assignment-upto-3-question/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Completed MDC (Multiple data compression) in &#8216;c&#8217;</title>
		<link>https://www.emblogic.com/blog/09/completed-mdc-multiple-data-compression-in-c/</link>
		<comments>https://www.emblogic.com/blog/09/completed-mdc-multiple-data-compression-in-c/#comments</comments>
		<pubDate>Tue, 02 Sep 2014 15:38:54 +0000</pubDate>
		<dc:creator><![CDATA[Joon Vichitra]]></dc:creator>
				<category><![CDATA[Project 2: Multiple Data Compression and Encryption]]></category>
		<category><![CDATA[data compression in c]]></category>
		<category><![CDATA[mdc]]></category>
		<category><![CDATA[multiple data compression]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=11456</guid>
		<description><![CDATA[RCS file: RCS/header.h,v Working file: header.h head: 1.3 branch: locks: strict access list: symbolic names: keyword substitution: kv total revisions: 3;    selected revisions: 3 description: All header file are included in this file &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- revision 1.3 date: 2014/08/30 20:12:53;  author: &#8230; <a href="https://www.emblogic.com/blog/09/completed-mdc-multiple-data-compression-in-c/">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.3<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 3;    selected revisions: 3<br />
description:<br />
All header file are included in this file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/08/30 20:12:53;  author: root;  state: Exp;  lines: +5 -1<br />
declare function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/08/30 16:21:24;  author: root;  state: Exp;  lines: +2 -0<br />
declare c_write function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/08/28 18:01:10;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/main.c,v<br />
Working file: main.c<br />
head: 1.5<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 5;    selected revisions: 5<br />
description:<br />
main file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2014/08/30 20:11:15;  author: root;  state: Exp;  lines: +6 -4<br />
call decompress function and recover original string with the help of master array<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2014/08/30 14:27:27;  author: root;  state: Exp;  lines: +1 -1<br />
get position in master array<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/08/30 12:48:25;  author: root;  state: Exp;  lines: +1 -0<br />
create compress function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/08/28 18:17:20;  author: root;  state: Exp;  lines: +2 -1<br />
Got Code length sucessfully<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/08/28 17:59:22;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
<p>RCS file: RCS/function.c,v<br />
Working file: function.c<br />
head: 1.7<br />
branch:<br />
locks: strict<br />
access list:<br />
symbolic names:<br />
keyword substitution: kv<br />
total revisions: 7;    selected revisions: 7<br />
description:<br />
Function file where all functions are defined<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.7<br />
date: 2014/08/31 15:01:44;  author: root;  state: Exp;  lines: +3 -2<br />
chnage the appearance of output<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.6<br />
date: 2014/08/30 20:12:23;  author: root;  state: Exp;  lines: +47 -17<br />
define function to decompress and recover the data<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.5<br />
date: 2014/08/30 16:20:29;  author: root;  state: Exp;  lines: +35 -35<br />
write compressed data into new file<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.4<br />
date: 2014/08/30 14:27:53;  author: root;  state: Exp;  lines: +45 -9<br />
get position in master array<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.3<br />
date: 2014/08/30 12:48:58;  author: root;  state: Exp;  lines: +29 -16<br />
rectify the master function as it was reallocating more memory priviously<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.2<br />
date: 2014/08/28 18:18:51;  author: root;  state: Exp;  lines: +4 -1<br />
Define Code length function<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
revision 1.1<br />
date: 2014/08/28 18:00:07;  author: root;  state: Exp;<br />
Initial revision<br />
=============================================================================</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/09/completed-mdc-multiple-data-compression-in-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
