GPL code

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

  1. Allow the creation of Groups with SubGroups and Items.
  2. 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

  1. MBOX

    This library allows a program to manage the mbox files used to store email messages locally by most of the email packages.

  2. POP

    To be written

  3. 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

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.




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