psss / rpms / libsemanage

Forked from rpms/libsemanage 5 years ago
Clone
cefaa03
#include <stdio.h>
cefaa03
#include <stdlib.h>
cefaa03
#include <string.h>
cefaa03
#include <errno.h>
cefaa03
#include <semanage/semanage.h>
cefaa03
cefaa03
#include "functions.c"
cefaa03
cefaa03
int main (int argc, char **argv) {
cefaa03
    semanage_handle_t *sh;
cefaa03
    semanage_seuser_t *seuser;
cefaa03
    semanage_seuser_t *seuser_del;
cefaa03
    semanage_seuser_key_t *key;
cefaa03
    semanage_seuser_t **records;
cefaa03
    int result;
cefaa03
    unsigned int count;
cefaa03
    
cefaa03
    if (argc < 4)
cefaa03
        exit(2);
cefaa03
    
cefaa03
    sh = get_handle(argv[1]);
cefaa03
cefaa03
    seuser = test_get_seuser(sh, argv[2]);
cefaa03
cefaa03
    test_add_local_seuser(sh, seuser);
cefaa03
cefaa03
    seuser_del = test_get_seuser(sh, argv[3]);
cefaa03
cefaa03
    result = semanage_seuser_key_extract(sh, seuser_del, &key);
cefaa03
    printf("semanage_seuser_key_extract(%p, %p, %p): %d\n",
cefaa03
           (void *) sh, (void *) seuser_del, (void *) &key, result);
cefaa03
cefaa03
    if (result < 0) {
cefaa03
        perror("semanage_seuser_key_extract");
cefaa03
        exit(2);
cefaa03
    }
cefaa03
cefaa03
    result = semanage_seuser_del_local(sh, key);
cefaa03
    printf("semanage_seuser_del_local(%p, %p): %d\n",
cefaa03
           (void *) seuser, (void *) key, result);
cefaa03
cefaa03
    if (result < 0) {
cefaa03
        perror("semanage_seuser_del_local");
cefaa03
        exit(1);
cefaa03
    }
cefaa03
cefaa03
    result = semanage_seuser_list_local(sh, &records, &count);
cefaa03
    printf("semanage_seuser_list_local(%p, %p, %p): %d\n",
cefaa03
           (void *) sh, (void *) &records, (void *) &count, result);
cefaa03
    
cefaa03
    if (result < 0) {
cefaa03
        perror("semanage_seuser_list_local");
cefaa03
        exit(2);
cefaa03
    }
cefaa03
cefaa03
    if (count != 0) {
cefaa03
        fprintf(stderr, "Number of local seusers is not 0!\n");
cefaa03
        exit(1);
cefaa03
    }
cefaa03
cefaa03
    destroy_handle(sh, argv[1]);
cefaa03
cefaa03
    exit(0);
cefaa03
}