static char RCSId[] = "$Id: ldtlib.c,v 1.1 1993/06/29 15:55:18 root Exp $"; static char Copyright[] = "Copyright Robert J. Amstadt, 1993"; #include <stdio.h> #include <stdlib.h> #include <errno.h> #include <linux/unistd.h> #include <linux/head.h> #include <linux/ldt.h> _syscall2(int, modify_ldt, int, func, void *, ptr) int get_ldt(void *buffer) { return modify_ldt(0, buffer); } int set_ldt_entry(int entry, unsigned long base, unsigned int limit, int seg_32bit_flag, int contents, int read_only_flag, int limit_in_pages_flag) { struct modify_ldt_ldt_s ldt_info; ldt_info.entry_number = entry; ldt_info.base_addr = base; ldt_info.limit = limit; ldt_info.seg_32bit = seg_32bit_flag; ldt_info.contents = contents; ldt_info.read_exec_only = read_only_flag; ldt_info.limit_in_pages = limit_in_pages_flag; return modify_ldt(1, &ldt_info); }