Lines Matching refs:ker
29 pm_kernel_t *ker; in pm_kernel_create() local
35 ker = calloc(1, sizeof(*ker)); in pm_kernel_create()
36 if (!ker) in pm_kernel_create()
39 ker->kpagecount_fd = open("/proc/kpagecount", O_RDONLY); in pm_kernel_create()
40 if (ker->kpagecount_fd < 0) { in pm_kernel_create()
42 free(ker); in pm_kernel_create()
46 ker->kpageflags_fd = open("/proc/kpageflags", O_RDONLY); in pm_kernel_create()
47 if (ker->kpageflags_fd < 0) { in pm_kernel_create()
49 close(ker->kpagecount_fd); in pm_kernel_create()
50 free(ker); in pm_kernel_create()
54 ker->pagesize = getpagesize(); in pm_kernel_create()
56 *ker_out = ker; in pm_kernel_create()
62 int pm_kernel_pids(pm_kernel_t *ker, pid_t **pids_out, size_t *len) { in pm_kernel_pids() argument
116 int pm_kernel_count(pm_kernel_t *ker, uint64_t pfn, uint64_t *count_out) { in pm_kernel_count() argument
119 if (!ker || !count_out) in pm_kernel_count()
122 off = lseek64(ker->kpagecount_fd, pfn * sizeof(uint64_t), SEEK_SET); in pm_kernel_count()
125 if (read(ker->kpagecount_fd, count_out, sizeof(uint64_t)) < in pm_kernel_count()
132 int pm_kernel_flags(pm_kernel_t *ker, uint64_t pfn, uint64_t *flags_out) { in pm_kernel_flags() argument
135 if (!ker || !flags_out) in pm_kernel_flags()
138 off = lseek64(ker->kpageflags_fd, pfn * sizeof(uint64_t), SEEK_SET); in pm_kernel_flags()
141 if (read(ker->kpageflags_fd, flags_out, sizeof(uint64_t)) < in pm_kernel_flags()
148 int pm_kernel_destroy(pm_kernel_t *ker) { in pm_kernel_destroy() argument
149 if (!ker) in pm_kernel_destroy()
152 close(ker->kpagecount_fd); in pm_kernel_destroy()
153 close(ker->kpageflags_fd); in pm_kernel_destroy()
155 free(ker); in pm_kernel_destroy()