finally got the idea of how to implement my own avl tree lib. it's different from Ben Pfaff's libavl, and mine will definitely be slower. i'm confident in that aspect. ;) me just got a different way to structure the function-calls' in my lib.
(why reinvent the wheel, and badly?) (i stared at my display for ten minutes trying to get a clever answer but failed. i humbly left this question to the reader.)
another news is that, i'm beginning to adopt Fefe's practice in his dietlibc and libowfat to organize my own program source. namely, one function per file, and write a manual page alongside.
Update: Ankh has a precise description about one public-API function per file and doc alongside.