Search

Sponsored Links

Meta

Categories

Archives

Recent Posts

RSS Feeds

25
Oct

PoTerm - A Serial Terminal Shell

PoTerm is serial terminal shell talks to serial ports and it is capable of sending AT commands to modems. A serial communication library is also available. Works on Windows and Linux also.

Download (source & binaries)
v1
PoTerm-1.0.zip 65.62Kb

v2
PoTerm-2.0.zip 87.43Kb

Documentation
Docs

PoTerm-2.0-Doc.zip 16.42Kb

Snapshots

v2 Release Notes
An enhanced cmd shell provided to intaract with serial port
A serial communication library
connection profile saving, log support (loglevels also) available serial sessions can be established using single commands (useful when sending “at” commands using perl, tcl, etc scripts)
not tested on linux
v1 Release Notes
A cmd shell provided to intaract with serial port
A serial communication library
connection profile saving, log support not available
not tested on linux
Plan for next release
pipe execution of commands
plugin to add ur own commands (now also you can add cmds by adding cmds to cmd table)
Reporting Bugs:
Please report bugs to “open dot ponnada at gmail dot com”
(replace dot with ‘.’; at with ‘@’; just protection from spambots)
Licence:
Please obtain a copy of GPL & LGPL if one is not present with this software, See GPL & LGPL for terms and conditions.

Developer(s) : Rajulu Ponnada
Contact: open dot ponnada at gmail dot com

Popularity: 23%

25
Oct

dlwrapper: POSIX Wrapper for Windows Dynamic Library Loading Calls

DLWrapper is a posix wrapper for windows dynamic library loading API calls. This package is useful for porting posix applications to windows and in developing portable applications

Download (source & binaries)
R1

Documentation

Snapshots
Release Notes
This release had implemented
dlopen
dlclose
dlsym
dlerror
and does not support dladdr
install or usability
To use these calls just use PosixDLLib.lib or include dlfcn.c, dlfcn.h in your project

Reporting Bugs:
Please report bugs to “open dot ponnada at gmail dot com”
(replace dot with ‘.’; at with ‘@’; just protection from spambots)
Licence:
LGPL
Please obtain a copy of LGPL if one is not present with this software, See LGPL for terms and conditions.

Developer(s) : Rajulu Ponnada
Contact: open dot ponnada at gmail dot com

Popularity: 12%

25
Oct

Pelt: Posix Wrapper for Windows Threads

Pelt is a POSIX wrapper for windows threads. This package is useful for porting posix applications to windows and in developing portable applications.

Download (source & binaries)
Download R1

Documentation

Snapshots

Release Notes
This release supports
Pthread_*
Pthread_attr_*
Pthread_mutex_*
Pthread_mutexattr_*
Pthread_cond_*
Pthread_condattr_*
Pthread_rwlock_*
Pthread_rwlockattr_*
Sem_*
POSIX calls only.

This library is not yet 100% POSIX compliant and targeting to implement a 100% POSIX compliant wrapper for windows threads which uses windows native calls.

Plan for next release
making almost 100% POSIX complaint

install or usability
To use these calls just use pelt.lib

Reporting Bugs:
Please report bugs to “open dot ponnada at gmail dot com”
(replace dot with ‘.’; at with ‘@’; just protection from spambots)
Licence:
LGPL
Please obtain a copy of LGPL if one is not present with this software, See LGPL for terms and conditions.

Developer(s) : Rajulu Ponnada
Contact: open dot ponnada at gmail dot com

Popularity: 39%

25
Oct

FileSplitt: A File Splitter

FileSplitt is a file splitter and merger

Download (source & binaries)
v1? FileSplitt-V1.0.zip 14.75Kb

Documentation

Snapshots

Release Notes
Command line utilities for splitting and merging available
Merging based on wildcards not possible in this release
GUI is not available in this release
Plan for next release
more enhanced version with GUI

install or usability
Standalone application

Reporting Bugs:
Please report bugs to “open dot ponnada at gmail dot com”
(replace dot with ‘.’; at with ‘@’; just protection from spambots)
Licence:
GPL Please obtain a copy of GPL if one is not present with this software, See GPL for terms and conditions.

Developer(s) : Rajulu Ponnada
Contact: open dot ponnada at gmail dot com

Popularity: 6%

25
Oct

CliSerT: Test Servers And Clients

CliSerT targeted to implement test servers and clients Targeted servers and clients listed here… tcp server and client (using blocking, nonblocking calls) udp server and client (using blocking, nonblocking calls) ssl server and client rtsp (streaming) server and client ftp server and client smtp server(mail transfer agent) and client(mail user agent) which are useful in testing clients or servers (which are developed on different platform or for device) against these. right now only tcp, udp servers and clients are available (based on blocking calls, non-blocking calls as well)

Download (source & binaries)
v1? ?
TcpUdpCLiSer.zip 24.67Kb

Documentation

Snapshots

Release Notes
tcp, udp servers and clients are available (based on blocking calls, non-blocking calls as well)
install or usability
Standalone applications

Reporting Bugs:
Please report bugs to “open dot ponnada at gmail dot com”
(replace dot with ‘.’; at with ‘@’; just protection from spambots)
Licence:
GPL
Please obtain a copy of GPL if one is not present with this software, See GPL for terms and conditions.

Developer(s) : Rajulu Ponnada
Contact: open dot ponnada at gmail dot com

Popularity: 3%

25
Oct

mmail: Multimedia Mail System

mmail is a multimedia mail system developed in tcl/tk it is also having a pop3 user agent and a news user agent integrated in it. Pop3, News user agents are developed in perl

Download (source & binaries)
mmail mmail.zip 155.29Kb
pop3 user agent? ? pop3.zip 5.85Kb

News user agent? nua.zip 9.12Kb

Documentation

Snapshots
Release Notes
I’d developed this as part of my master’s thesis work long back. This may not work straight away due to some missing image files but quite useful for educational purposes.
install or usability
Standalone applications

Reporting Bugs:
Please report bugs to “open dot ponnada at gmail dot com”
(replace dot with ‘.’; at with ‘@’; just protection from spambots)
Licence:
Free software

Developer(s) : Rajulu Ponnada
Contact: open dot ponnada at gmail dot com

Popularity: 3%

25
Oct

dXsh: Dynamically eXtensible Shell

Dynamically Extensible Shell can be configured dynamically depending on application need. User/Developer can extend/reduce shell dynamically by adding /removing module or fine tune shell by adding filter modules over existing core module.

Download
v1

Documentation

Snapshots

Release Notes
Core shell
Shared object shell
Login shell are available with this release
No 3rd party shells integrated
Plan for next release
more enhanced version with 3rd party shells (bash, ash etc) integration

install or usability
Standalone application

Reporting Bugs:
Please report bugs to “open dot ponnada at gmail dot com”
(replace dot with ‘.’; at with ‘@’; just protection from spambots)
Licence:
GPL Please obtain a copy of GPL if one is not present with this software, See GPL for terms and conditions.

Developer(s) : Rajulu Ponnada
Contact: open dot ponnada at gmail dot com

Popularity: 8%

25
Oct

Displaying execution time of a program

refer another post for gettimeofday

usage part looks like below
log_time(1);
*block of code*
log_time(2);

 
#include < sys/time.h >
#include < time.h >
/* To start timer,event=1;
To stop timer,event=2*/
 
void log_time(int event)
{
  static struct timeval tv_start;
  struct timeval tv_end;
  struct timeval *tv;
 
  tv = ((event==2)?&tv_end:&tv_start);
 
  gettimeofday(tv, NULL);
 
  if(event==2)
  {
    printf("Time: %ld Seconds %ld Microseconds\n",
           tv_end.tv_sec - tv_start.tv_sec,
           tv_end.tv_usec - tv_start.tv_usec);
  }
}

Popularity: 7%

25
Oct

Finding endianness

to know about endianness, please refer to my earlier posts…
Little, Big endianess explained
Little, big endianess explained - part2

here is the snippet for finding endianness…

 
//returns zero for little endian
//returns 1 for big endian
//otherwise some error occured
int find_endianness()
{
  int x = 0x01 ;
  if (* (char *) &x == 1)
  {
    //little endian
    return 0;
  }
  else if (*((char *)&x+sizeof(int)-1)==1)
  {
    //big endian
    return 1;
  }
  else
  {
    //could not find what we have written in that byte
    return -1;
  }  
 
  return 0;
}

Popularity: 19%

15
Oct

String Pattern Matching: Write a function that checks for a given pattern at the end of a given string

String Pattern Matching: Write a function that checks for a given pattern at the end of a given string

In other words, Write a function, a variant of strstr that takes in 2 strings str1 and str2 and returns true if str2 occurs at the end of the string str1, and false otherwise.

bool str_str_end(char * str1, char * str2)
{
// Store the base pointers of both strings
char* beginStr1 = str1;
char* beingStr2 = str2;

// Move to the end of the strings
while(*str1++);

while(*str2++);

for(; *str1 == *str2; str1--, Str2--)
{
If( str2 == beginStr2
|| str1 == beingStr1)
{
break;
}
}
return    If(*str1 == *str2
&& str2 == beginStr2
&& *str1 != 0);
}

Save the base addresses of the strings and then traverse to the end of the stings. To check if the string str2 occurs at the end of the string str1, start comparing characters from the end of the strings and move backwards. The function returns true when

  1. All the characters in str1 match all the characters in str2 from the end.
  2. The pointer str2 reaches back at the beginning of the string, which means there is nothing more to be compared
  3. The strings are not empty.

The above conditions are required so that the loops do not run in an infinite loop.

Popularity: 6%

« Previous Page