These are some of the applications, libraries and kernel patches I have written which could be of general use so I am releasing them under the GPL license. I hope it will be of use.
Well this page is not yet fully up.
Currently there is only link to the Fleximouse kernel code.
Libraries
PersData
This library will allow one to manage Persistent Data (like say config files)
for an application. It allows variables to be Grouped thus simplifying their
management. It allows one to traverse thro the groups and its variables using
simple functions. The Persistent Data file is currently stored in a binary
format. Variables' values are stored in dynamically adjusting buffers thus
allowing values as large as your system allows. The Persistent Data file is
manipulated in memory. It uses 2 dimensional linked lists. The 1st dimension
is used to store the groups and the 2nd dimension is used to store the
variables and their values.
to-do
- Allow the creation of Groups with SubGroups and Items.
- Allow saving and loading from Text based files.
TagExpert
This allows one to generate dynamic contents say for HTML pages. One creates a
Template file which is a text file with TAGGED Variables in them, These
TagVariables in turn get replaced when a application calls the library
functions and passes the values to these Tagged Variables.
As of now it doesn't support any looping constructs How ever it still allows
one to create tables or Columns of info by allowing one to assign multiple
values to a TagVariable and by allowing one to embed multiple instances of a
TagVariable in a Template file.
Similarly even thou it doesn't allow any explicit conditional constructs still
it allows one to specify protected blocks around these TagVariables and thus
gives the user the power of deciding whether to include the Protected block in
the final file or not.
One can specify a chain of values to a TagVariable, set a Default Value to the
TagVariable, and/or to Ignore it if required or ignore it in a specific
order.
Mail
- MBOX
This library allows a program to manage the mbox files used to store email
messages locally by most of the email packages.
- POP
To be written
- SMTP
To be written
Once completed this library will allow one to write email clients easly using
this library.
Notes
All these libraries allow one to work with multiple instances of the
implemented logic simultaneously by allowing each instance to be identified
using separate identifiers and All these libraries functions' in turn accept
these Ids as their 1st argument.
Applications
kIDE
This is a generic IDE written in Delphi which allows users to
- associate a set of files as belonging to a project
- Apply the programs they select on these files either individually or as a group.
- Will allow a plugin system for syntax highlighting in future.
- Also thinking of writing a similar program using GTK for Linux. Currenlty if one is interested he can use WINE to run this windows version from with in any of the supported UNIX enviornments.
kProxy
This is a simple proxy server I wrote to understand the logic of proxying used
in Internet.
ksh
This is a simple shell I wrote to refresh my unix programming knowledge.
- It allows execution of external command or programs.
- Has a set of internal commands for various purposes like help, command prompt format etc.
- Will allow pipeing and redirection shortly.
- Will be adding support for Background processes and Process/Job control.
Kernel related
Fleximouse: a Generic MOUSE emulator
Recently I was stuck with a system whose Serial as well as the PS/2 connectors were not working. Thats when I got this idea. It helped me understand how to write a misc device driver. Also it helped me understand the sysctl structure.
It allows one to control its behaviour using the sysctl interface. Also one can
work with this mouse by either writing to its device file or by using the
Kernel keyboard trapper provided with it. Its a very beta code, still there are
issues with the keyboard trapping logic which I have implemented.
For those who are interested still
Download linux 2.2.14 patch
General
FrameBuffer in Linux
I developed some code which uses Framebuffer to get access to the Video memory
directly and provides assembly routines for basic graphic routines. If anyone
is interested they can have a look at it.
(c) HanishKVC, 1 May 2000