- #include <stdlib.h> 
- typedef int(*CompareFuncT)(void *, void *); 
-   
- struct SortedList 
- { 
-     CompareFuncT comp; 
- }; 
- typedef struct SortedList * SortedListPtr; 
-   
- SortedListPtr SLCreate(CompareFuncT cf){ 
- 	SortedListPtr slp  = malloc(sizeof(struct-  SortedList ));
-   
- 	slp->comp = cf; 
- 	return slp; 
- } 
-   
- int compareInts(void *p1, void *p2) 
- { 
- 	int i1 = *(int*)p1; 
- 	int i2 = *(int*)p2; 
-   
- 	return i1 - i2; 
- } 
-   
- int main(){ 
- 	SLCreate(compareInts); 
- } 
				I2luY2x1ZGUgPHN0ZGxpYi5oPgp0eXBlZGVmIGludCgqQ29tcGFyZUZ1bmNUKSh2b2lkICosIHZvaWQgKik7CgpzdHJ1Y3QgU29ydGVkTGlzdAp7CiAgICBDb21wYXJlRnVuY1QgY29tcDsKfTsKdHlwZWRlZiBzdHJ1Y3QgU29ydGVkTGlzdCAqIFNvcnRlZExpc3RQdHI7CgpTb3J0ZWRMaXN0UHRyIFNMQ3JlYXRlKENvbXBhcmVGdW5jVCBjZil7CglTb3J0ZWRMaXN0UHRyIHNscCA9IG1hbGxvYyhzaXplb2Yoc3RydWN0IFNvcnRlZExpc3QpKTsKCglzbHAtPmNvbXAgPSBjZjsKCXJldHVybiBzbHA7Cn0KCmludCBjb21wYXJlSW50cyh2b2lkICpwMSwgdm9pZCAqcDIpCnsKCWludCBpMSA9ICooaW50KilwMTsKCWludCBpMiA9ICooaW50KilwMjsKCglyZXR1cm4gaTEgLSBpMjsKfQoKaW50IG1haW4oKXsKCVNMQ3JlYXRlKGNvbXBhcmVJbnRzKTsKfQ==