<?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; rajnish</title>
	<atom:link href="https://www.emblogic.com/blog/author/rajnish/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>GDB</title>
		<link>https://www.emblogic.com/blog/02/gdb/</link>
		<comments>https://www.emblogic.com/blog/02/gdb/#comments</comments>
		<pubDate>Thu, 13 Feb 2014 06:29:02 +0000</pubDate>
		<dc:creator><![CDATA[rajnish]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=8332</guid>
		<description><![CDATA[What is gdb? “GNU Debugger” A debugger for several languages, including C and C++ It allows you to inspect what the program is doing at a certain point during execution. Errors like segmentation faults may be easier to find with &#8230; <a href="https://www.emblogic.com/blog/02/gdb/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>What is gdb?<br />
“GNU Debugger”<br />
A debugger for several languages, including C and C++<br />
It allows you to inspect what the program is doing at a certain<br />
point during execution.<br />
Errors like segmentation faults may be easier to find with the<br />
help of gdb.<br />
http://sourceware.org/gdb/current/onlinedocs/gdb toc.html<br />
online manual<br />
GDB Tutorial<br />
-<br />
Additional step when compiling program<br />
Normally, you would compile a program like:<br />
gcc [flags]  -o<br />
For example:<br />
gcc -Wall -Werror -ansi -pedantic-errors prog1.c -o prog1.x<br />
Now you add a -g option to enable built-in debugging support<br />
(which gdb needs):<br />
gcc [other flags] -g  -o<br />
For example:<br />
gcc -Wall -Werror -ansi -pedantic-errors -g prog1.c -o prog1.x<br />
GDB Tutorial<br />
Starting up gdb<br />
Just try “gdb” or “gdb prog1.x.” You’ll get a prompt that looks<br />
like this:<br />
(gdb)<br />
If you didn’t specify a program to debug, you’ll have to load it in<br />
now:<br />
(gdb) file prog1.x<br />
Here, prog1.x is the program you want to load, and “file” is the<br />
command to load it.<br />
GDB Tutorial<br />
Before we go any further<br />
gdb has an interactive shell, much like the one you use as soon as<br />
you log into the linux grace machines. It can recall history with the<br />
arrow keys, auto-complete words (most of the time) with the TAB<br />
key, and has other nice features.<br />
Tip<br />
If you’re ever confused about a command or just want more<br />
information, use the “help” command, with or without an<br />
argument:<br />
(gdb) help [command]<br />
You should get a nice description and maybe some more useful<br />
tidbits. . .<br />
GDB Tutorial<br />
Running the program<br />
To run the program, just use:<br />
(gdb) run<br />
This runs the program.<br />
If it has no serious problems (i.e. the normal program didn’t<br />
get a segmentation fault, etc.), the program should run fine<br />
here too.<br />
If the program did have issues, then you (should) get some<br />
useful information like the line number where it crashed, and<br />
parameters to the function that caused the error:<br />
Program received signal SIGSEGV, Segmentation fault.<br />
0&#215;0000000000400524 in sum array region (arr=0x7fffc902a270, r1=2, c1=5,<br />
r2=4, c2=6) at sum-array-region2.c:12<br />
GDB Tutorial<br />
So what if I have bugs?<br />
Okay, so you’ve run it successfully. But you don’t need gdb for<br />
that. What if the program isn’t working?<br />
Basic idea<br />
Chances are if this is the case, you don’t want to run the program<br />
without any stopping, breaking, etc. Otherwise, you’ll just rush past the<br />
error and never find the root of the issue. So, you’ll want to step through<br />
your code a bit at a time, until you arrive upon the error.<br />
This brings us to the next set of commands. . .<br />
GDB Tutorial<br />
Setting breakpoints<br />
Breakpoints can be used to stop the program run in the middle, at<br />
a designated point. The simplest way is the command “break.”<br />
This sets a breakpoint at a specified file-line pair:<br />
(gdb) break file1.c:6<br />
This sets a breakpoint at line 6, of file1.c. Now, if the program<br />
ever reaches that location when running, the program will pause<br />
and prompt you for another command.<br />
Tip<br />
You can set as many breakpoints as you want, and the program<br />
should stop execution if it reaches any of them.<br />
GDB Tutorial<br />
More fun with breakpoints<br />
You can also tell gdb to break at a particular function. Suppose<br />
you have a function my func:<br />
int my func(int a, char *b);<br />
You can break anytime this function is called:<br />
(gdb) break my func<br />
GDB Tutorial<br />
Now what?<br />
Once you’ve set a breakpoint, you can try using the run<br />
command again. This time, it should stop where you tell it to<br />
(unless a fatal error occurs before reaching that point).<br />
You can proceed onto the next breakpoint by typing<br />
“continue” (Typing run again would restart the program<br />
from the beginning, which isn’t very useful.)<br />
(gdb) continue<br />
You can single-step (execute just the next line of code) by<br />
typing “step.” This gives you really fine-grained control over<br />
how the program proceeds. You can do this a lot&#8230;<br />
(gdb) step<br />
GDB Tutorial<br />
Now what? (even more!)<br />
Similar to “step,” the “next” command single-steps as well,<br />
except this one doesn’t execute each line of a sub-routine, it<br />
just treats it as one instruction.<br />
(gdb) next<br />
Tip<br />
Typing “step” or “next” a lot of times can be tedious. If you just<br />
press ENTER, gdb will repeat the same command you just gave it.<br />
You can do this a bunch of times.<br />
GDB Tutorial<br />
Querying other aspects of the program<br />
So far you’ve learned how to interrupt program flow at fixed,<br />
specified points, and how to continue stepping line-by-line.<br />
However, sooner or later you’re going to want to see things<br />
like the values of variables, etc. This might be useful in<br />
debugging. <img src="https://www.emblogic.com/blog/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /><br />
The print command prints the value of the variable<br />
specified, and print/x prints the value in hexadecimal:<br />
(gdb) print my var<br />
(gdb) print/x my var<br />
GDB Tutorial<br />
Setting watchpoints<br />
Whereas breakpoints interrupt the program at a particular line or<br />
function, watchpoints act on variables. They pause the program<br />
whenever a watched variable’s value is modified. For example, the<br />
following watch command:<br />
(gdb) watch my var<br />
Now, whenever my var’s value is modified, the program will<br />
interrupt and print out the old and new values.<br />
Tip<br />
You may wonder how gdb determines which variable named my var to watch if there<br />
is more than one declared in your program. The answer (perhaps unfortunately) is<br />
that it relies upon the variable’s scope, relative to where you are in the program at the<br />
time of the watch. This just means that you have to remember the tricky nuances of<br />
scope and extent :(.<br />
GDB Tutorial<br />
Example programs<br />
Some example files are found in<br />
~/212public/gdb-examples/broken.c on the linux grace<br />
machines.<br />
Contains several functions that each should cause a<br />
segmentation fault. (Try commenting out calls to all but one<br />
in main())<br />
The errors may be easy, but try using gdb to inspect the code.<br />
GDB Tutorial<br />
Other useful commands<br />
backtrace &#8211; produces a stack trace of the function calls that<br />
lead to a seg fault (should remind you of Java exceptions)<br />
where &#8211; same as backtrace; you can think of this version as<br />
working even when you’re still in the middle of the program<br />
finish &#8211; runs until the current function is finished<br />
delete &#8211; deletes a specified breakpoint<br />
info breakpoints &#8211; shows information about all declared<br />
breakpoints<br />
Look at sections 5 and 9 of the manual mentioned at the beginning<br />
of this tutorial to find other useful commands, or just try help.<br />
GDB Tutorial<br />
gdb with Emacs<br />
Emacs also has built-in support for gdb. To learn about it, go here:</p>
<p>http://tedlab.mit.edu/~dr/gdbintro.html</p>
<p>GDB Tutorial<br />
More about breakpoints<br />
Breakpoints by themselves may seem too tedious. You have to<br />
keep stepping, and stepping, and stepping. . .<br />
Basic idea<br />
Once we develop an idea for what the error could be (like dereferencing a<br />
NULL pointer, or going past the bounds of an array), we probably only<br />
care if such an event happens; we don’t want to break at each iteration<br />
regardless.<br />
So ideally, we’d like to condition on a particular requirement (or set<br />
of requirements). Using conditional breakpoints allow us to<br />
accomplish this goal. . .<br />
GDB Tutorial<br />
Conditional breakpoints<br />
Just like regular breakpoints, except that you get to specify some<br />
criterion that must be met for the breakpoint to trigger. We use<br />
the same break command as before:<br />
(gdb) break file1.c:6 if i &gt;= ARRAYSIZE<br />
This command sets a breakpoint at line 6 of file file1.c, which<br />
triggers only if the variable i is greater than or equal to the size of<br />
the array (which probably is bad if line 6 does something like<br />
arr[i]). Conditional breakpoints can most likely avoid all the<br />
unnecessary stepping, etc.<br />
GDB </p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/02/gdb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Basic Signal Programming</title>
		<link>https://www.emblogic.com/blog/12/basic-signal-programming/</link>
		<comments>https://www.emblogic.com/blog/12/basic-signal-programming/#comments</comments>
		<pubDate>Fri, 20 Dec 2013 09:03:38 +0000</pubDate>
		<dc:creator><![CDATA[rajnish]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.emblogic.com/blog/?p=7787</guid>
		<description><![CDATA[Basic Signal Programming 1 What is a signal? Signals are generated when an event occurs that requires attention. It can be considered as a software version of a hardware interrupt Signal Sources: Hardware &#8211; division by zero Kernel – notifying &#8230; <a href="https://www.emblogic.com/blog/12/basic-signal-programming/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Basic Signal Programming<br />
1<br />
What is a signal?<br />
Signals are generated when an event occurs<br />
that requires attention. It can be considered as<br />
a software version of a hardware interrupt<br />
Signal Sources:<br />
Hardware &#8211; division by zero<br />
Kernel – notifying an I/O device for which a process<br />
has been waiting is available<br />
Other Processes – a child notifies its parent that it<br />
has terminated<br />
User – key press (i.e., Ctrl-C)<br />
2<br />
What signals are available?<br />
Signal names are defined in signal.h<br />
The following are examples:<br />
SIGALRM – alarm clock<br />
SIGBUS – bus error<br />
SIGFPE – floating point arithmetic exception<br />
SIGINT – interrupt (i.e., Ctrl-C)<br />
SIGQUIT – quit (i.e., Ctrl-\)<br />
SIGTERM – process terminated<br />
SIGUSR1 and SIGUSR2 – user defined signals<br />
You can ignore some signals<br />
You can also catch and handle some signals.<br />
3<br />
Signal Sources<br />
4<br />
Function signal()<br />
void (*signal(int, void (*)(int)))(int);<br />
signal() is a function that accepts two arguments<br />
and returns a pointer to a function that takes one<br />
argument, the signal handler, and returns nothing.<br />
If the call fails, it returns SIG_ERR.<br />
The arguments are<br />
The first is an integer (i.e., int), a signal name.<br />
The second is a function that accepts an int argument<br />
and returns nothing, the signal handler.<br />
If you want to ignore a signal, use SIG_IGN as the second<br />
argument.<br />
If you want to use the default way to handle a signal, use<br />
SIG_DFL as the second argument.<br />
5<br />
Examples<br />
The following ignores signal SIGINT<br />
signal(SIGINT, SIG_IGN);<br />
The following uses the default way to handle<br />
SIGALRM<br />
signal(SIGALRM, SIG_DFL);<br />
The following installs function INThandler()<br />
as the signal handler for signal SIGINT<br />
signal(SIGINT, INThandler);<br />
6<br />
Install a Signal Handler: 1/2<br />
#include<br />
#include<br />
void<br />
INThandler(int);<br />
void main(void)<br />
{<br />
if (signal(SIGINT, SIG_IGN) != SIG_IGN)<br />
signal(SIGINT, INThandler);<br />
while (1)<br />
pause();<br />
}<br />
7<br />
Install a Signal Handler: 2/2<br />
void INThandler(int sig)<br />
ignore the signal first<br />
{<br />
char c;<br />
signal(sig, SIG_IGN);<br />
printf(“Ouch, did you hit Ctrl-C?\n”,<br />
“Do you really want to quit [y/n]?”);<br />
c = getchar();<br />
if (c == ‘y’ || c = ‘Y’)<br />
exit(0);<br />
else<br />
signal(SIGINT, INThandler);<br />
}<br />
8<br />
reinstall the signal handler<br />
Here is the procedure<br />
1. Prepare a function that accepts an integer, a<br />
signal name, to be a signal handler.<br />
2. Call signal() with a signal name as the first<br />
argument and the signal handler as the second.<br />
3. When the signal you want to handle occurs,<br />
your signal handler is called with the argument<br />
the signal name that just occurred.<br />
4. Two important notes:<br />
a. You might want to ignore that signal in your handler<br />
b. Before returning from your signal handler, don’t<br />
forget to re-install it.<br />
9<br />
Handling Multiple Signal Types: 1/2<br />
You can install multiple signal handlers:<br />
signal(SIGINT, INThandler);<br />
signal(SIGQUIT, QUIThandler);<br />
void INThandler(int sig)<br />
{<br />
// SIGINT handler code<br />
}<br />
void QUIThandler(int sig)<br />
{<br />
// SIGQUIT handler code<br />
}<br />
10<br />
Handling Multiple Signal Types: 2/2<br />
Or, you can use one signal handler and install it<br />
multiple times<br />
signal(SIGINT, SIGhandler);<br />
signal(SIGQUIT, SIGhandler);<br />
void SIGhandler(int sig)<br />
{<br />
switch (sig) {<br />
case SIGINT:<br />
// code for SIGINT<br />
case SIGQUIT: // code for SIGQUIT<br />
default:<br />
// other signal types<br />
}<br />
}<br />
11<br />
Handling Multiple Signal Types<br />
Example: 1/4<br />
#include<br />
#include<br />
#include<br />
#define<br />
#define<br />
#define<br />
MAX_i<br />
MAX_j<br />
MAX_SECOND<br />
10000<br />
20000<br />
(2)<br />
void INThandler(int);<br />
void ALARMhandler(int);<br />
int SECOND, i, j<br />
12<br />
Handling Multiple Signal Types<br />
Example: 2/4<br />
void INThandler(int sig)<br />
{<br />
char c;<br />
signal(SIGINT, SIG_IGN);<br />
signal(SIGALRM, SIG_IGN);<br />
printf(“INT handler: i = %d and j = %d\n”, i, j);<br />
printf(“INT handler: want to quit [y/n]?”);<br />
c = tolower(getchar());<br />
if (c == ‘y’) {<br />
printf(“INT handler: done”); exit(0);<br />
}<br />
signal(SIGINT, INThandler);<br />
signal(SIGALRM, ALARMhandler);<br />
alarm(SECOND);<br />
}<br />
13<br />
This is a Unix system call<br />
Handling Multiple Signal Types<br />
Example: 3/4<br />
void ALARMhandler(int sig)<br />
{<br />
signal(SIGINT, SIG_IGN);<br />
signal(SIGALRM, SIG_IGN);<br />
printf(“ALARM handler: alarm signal received\n”);<br />
printf(“ALARM handler: i = %d and j = %d\n”, i, j);<br />
alarm(SECOND);<br />
signal(SIGINT, INThandler);<br />
signal(SIGALRM, ALARMhandler);<br />
}<br />
set alarm clock to SECOND seconds<br />
14<br />
Handling Multiple Signal Types<br />
Example: 4/4<br />
void main(int argc, char *argv[])<br />
{<br />
long sum;<br />
SECOND = abs(atoi(argv[1]));<br />
signal(SIGINT, INThandler);<br />
signal(SIGALRM, ALARMhandler);<br />
alarm(SECOND);<br />
for (i = 1; i &lt;= MAX_i, i_++) {<br />
sum = 0;<br />
for (j = 1; j &lt;= MAX_j; j++)<br />
sum += j;<br />
}<br />
printf(“Computation is done.\n\n”);<br />
}<br />
15<br />
Raise a Signal within a Process: 1/2<br />
Use ANSI C function raise() to “raise” a signal<br />
int raise(int sig);<br />
Raise() returns non-zero if unsuccessful.<br />
#include<br />
#include<br />
long<br />
Check here if it is a SIGUSR1!<br />
pre_fact, i;<br />
void SIGhandler(int);<br />
void SIGhandler(int sig)<br />
{<br />
printf(“\nReceived a SIGUSR1 signal %ld! = %ld\n”,<br />
i-1, pre_fact);<br />
}<br />
16<br />
Raise a Signal within a Process: 2/2<br />
void main(void)<br />
{<br />
long fact;<br />
signal(SIGUSR1, SIGhandler);<br />
for (prev_fact=i=1; ; i++, prev_fact = fact) {<br />
fact = prev_fact * i;<br />
if (fact &lt; 0)<br />
raise(SIGUSR1);<br />
else if (i % 3 == 0)<br />
printf(“<br />
%ld = %ld\n”, i, fact);<br />
}<br />
}<br />
Assuming an integer overflow will wrap around!<br />
17<br />
Send a Signal to a Process<br />
Use Unix system call kill() to send a signal<br />
to another process:<br />
int kill(pid_t pid, int sig);<br />
kill() sends the sig signal to process with<br />
ID pid.<br />
So, you must find some way to know the<br />
process ID of the process a signal is sent to.<br />
18<br />
Kill Example: process-a (1)<br />
#include<br />
#include<br />
#include<br />
#include<br />
#include</p>
<p>void SIGINT_handler(int);<br />
void SIGQUIT_handler(int);<br />
int<br />
pid_t<br />
ShmID;<br />
*ShmPTR;<br />
used to save shared memory ID<br />
my PID will be stored here<br />
19<br />
Kill Example: process-a (2)<br />
void main(void)<br />
{<br />
int<br />
i;<br />
pid_t pid = getpid();<br />
key_y MyKey;<br />
signal(SIGINT, SIGINT_handler);<br />
signal(SIGQUIT, SIGQUIT_handler);<br />
MyKey = ftok(“./”, ‘a’);<br />
ShmID = shmget(MyKey, sizeof(pid_t), IPC_CREAT|0666);<br />
ShmPTR = (pid_t *) shmat(shmID, NULL, 0);<br />
*ShmPTR = pid;<br />
for (i = 0; ; i++) {<br />
printf(“From process %d: %d\n”, pid, i);<br />
sleep(1);<br />
}<br />
}<br />
20<br />
Kill Example: process-a (2)<br />
use Ctrl-C to interrupt<br />
void SIGINT_handler(int sig)<br />
{<br />
signal(sig, SIG_IGN);<br />
printf(“From SIGINT: got a Ctrl-C signal %d\n”, sig);<br />
signal(sig, SIGINT_handler);<br />
}<br />
void SIGQUIT_handler(int sig) use Ctrl-\ to kill this program<br />
{<br />
signal(sig, SIG_IGN);<br />
printf(“From SIGQUIT: got a Ctrl-\\ signal %d\n”, sig);<br />
printf(“From SIGQUIT: quitting\n”);<br />
shmdt(ShmPTR);<br />
shmctl(ShmID, IPC_RMID, NULL);<br />
exit(0);<br />
}<br />
21<br />
Kill Example: process-b (1)<br />
#include<br />
#include<br />
#include<br />
#include<br />
#include</p>
<p>Void main(void)<br />
{<br />
pid_t pid, *ShmPTR;<br />
key_t MyKey;<br />
int<br />
ShmID;<br />
char<br />
c;<br />
detach the shared memory<br />
after taking the pid<br />
MyKey = ftok(“./”, ‘a’);<br />
ShmID = shmget(MyKey, sizeof(pid_t), 0666);<br />
ShmPTR = (pid_t *) shmat(ShmID, NULL, 0);<br />
pid<br />
= *ShmPTR;<br />
shmdt(ShmPTR); /* see next page */<br />
22<br />
Kill Example: process-b (2)<br />
while (1) {<br />
printf(“(i for interrupt or k for kill)? ”);<br />
c = getchar();<br />
if (c == ‘i’ || c == ‘I’) {<br />
kill(pid, SIGINT);<br />
printf(“A SIGKILL signal has been sent\n”);<br />
}<br />
else if (c == ‘k’ || c == ‘K’) {<br />
printf(“About to sent a SIGQUIT signal\n”);<br />
kill(pid, SIGQUIT);<br />
exit(0);<br />
}<br />
else<br />
printf(“Wrong keypress (%c). Try again!\n”, c);<br />
}<br />
}<br />
23<br />
You can kill process-a from within process-b!<br />
The Unix Kill Command<br />
The kill command can also be used to send a signal<br />
to a process:<br />
kill –l /* list all signals */<br />
kill –XXX pid1 pid &#8230;&#8230; pid<br />
In the above XXX is the signal name without the<br />
initial letters SIG.<br />
kill –KILL 1357 2468 kills process 1357 and<br />
2468.<br />
kill –INT 6421 sends a SIGINT to process 6421.<br />
A kill without a signal name is equivalent to<br />
SIGTERM.<br />
-9 is equal to –SIGKILL.<br />
24</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/12/basic-signal-programming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>process management</title>
		<link>https://www.emblogic.com/blog/01/process-management/</link>
		<comments>https://www.emblogic.com/blog/01/process-management/#comments</comments>
		<pubDate>Sat, 05 Jan 2013 11:59:38 +0000</pubDate>
		<dc:creator><![CDATA[rajnish]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=5731</guid>
		<description><![CDATA[I have imlemented signal and sigaction without information of signal. but I am geting problem in printing the signal information]]></description>
				<content:encoded><![CDATA[<p>I have imlemented signal and sigaction without information of signal.<br />
but I am geting problem in printing the signal information</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/01/process-management/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>e11 report to sidarth sir</title>
		<link>https://www.emblogic.com/blog/08/e11-report-to-sidarth-sir/</link>
		<comments>https://www.emblogic.com/blog/08/e11-report-to-sidarth-sir/#comments</comments>
		<pubDate>Sat, 18 Aug 2012 08:07:17 +0000</pubDate>
		<dc:creator><![CDATA[rajnish]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=4794</guid>
		<description><![CDATA[today I have completed assignment no.1]]></description>
				<content:encoded><![CDATA[<p> today I have completed assignment no.1</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/08/e11-report-to-sidarth-sir/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>e11 doubt inassignment 1</title>
		<link>https://www.emblogic.com/blog/08/e11-doubt-inassignment-1/</link>
		<comments>https://www.emblogic.com/blog/08/e11-doubt-inassignment-1/#comments</comments>
		<pubDate>Thu, 16 Aug 2012 17:58:04 +0000</pubDate>
		<dc:creator><![CDATA[rajnish]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=4792</guid>
		<description><![CDATA[what is meaning of %g in c]]></description>
				<content:encoded><![CDATA[<p>what is meaning of %g in c</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/08/e11-doubt-inassignment-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>report to sidarth sir</title>
		<link>https://www.emblogic.com/blog/08/report-to-sidarth-sir/</link>
		<comments>https://www.emblogic.com/blog/08/report-to-sidarth-sir/#comments</comments>
		<pubDate>Wed, 08 Aug 2012 03:09:03 +0000</pubDate>
		<dc:creator><![CDATA[rajnish]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=4457</guid>
		<description><![CDATA[1. makefile implemented 2.rcs implemented]]></description>
				<content:encoded><![CDATA[<p>1.  makefile implemented<br />
2.rcs implemented</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/08/report-to-sidarth-sir/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>e11</title>
		<link>https://www.emblogic.com/blog/08/e11-9/</link>
		<comments>https://www.emblogic.com/blog/08/e11-9/#comments</comments>
		<pubDate>Tue, 07 Aug 2012 04:29:29 +0000</pubDate>
		<dc:creator><![CDATA[rajnish]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=4412</guid>
		<description><![CDATA[I hav emplemented the do while &#8230;&#8230;&#8230;&#8230;.study the embedded linux]]></description>
				<content:encoded><![CDATA[<p> I hav emplemented the do while &#8230;&#8230;&#8230;&#8230;.study the embedded linux</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/08/e11-9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>e11</title>
		<link>https://www.emblogic.com/blog/08/e11-7/</link>
		<comments>https://www.emblogic.com/blog/08/e11-7/#comments</comments>
		<pubDate>Sun, 05 Aug 2012 12:24:09 +0000</pubDate>
		<dc:creator><![CDATA[rajnish]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=4352</guid>
		<description><![CDATA[i have implemented &#8230;&#8230;&#8230;..string comparision, if else and arithmatic comparision]]></description>
				<content:encoded><![CDATA[<p>i have implemented &#8230;&#8230;&#8230;..string comparision, if else and arithmatic  comparision</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/08/e11-7/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>E11&#8230;&#8230;&#8230;Shell script</title>
		<link>https://www.emblogic.com/blog/08/e11-shell-script/</link>
		<comments>https://www.emblogic.com/blog/08/e11-shell-script/#comments</comments>
		<pubDate>Tue, 31 Jul 2012 18:40:57 +0000</pubDate>
		<dc:creator><![CDATA[rajnish]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=4235</guid>
		<description><![CDATA[run the arithmetic program of shell script successfully]]></description>
				<content:encoded><![CDATA[<p>run the arithmetic program of shell script successfully</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/08/e11-shell-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>dailly report to sidarth sir</title>
		<link>https://www.emblogic.com/blog/07/dailly-report-to-sidarth-sir/</link>
		<comments>https://www.emblogic.com/blog/07/dailly-report-to-sidarth-sir/#comments</comments>
		<pubDate>Sat, 28 Jul 2012 02:39:31 +0000</pubDate>
		<dc:creator><![CDATA[rajnish]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=4202</guid>
		<description><![CDATA[sir, I hav started the assignment no. 1]]></description>
				<content:encoded><![CDATA[<p>sir, I hav started the assignment no. 1</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/07/dailly-report-to-sidarth-sir/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>problem relating to document</title>
		<link>https://www.emblogic.com/blog/07/problem-relating-to-document/</link>
		<comments>https://www.emblogic.com/blog/07/problem-relating-to-document/#comments</comments>
		<pubDate>Thu, 26 Jul 2012 03:36:51 +0000</pubDate>
		<dc:creator><![CDATA[rajnish]]></dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://emblogic.org/blog/?p=4116</guid>
		<description><![CDATA[In study document the view document is not showing any material in document]]></description>
				<content:encoded><![CDATA[<p>In study document the view document is not showing any material in document</p>
]]></content:encoded>
			<wfw:commentRss>https://www.emblogic.com/blog/07/problem-relating-to-document/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
