Example #1
0
void Main(int argc, char *argv[])
{
    int ret;
    int perm;

    if (argc != 4) {
        Print("Usage: setacl <file> <uid> [r | w | rw | clear\n");
	Exit();
    }

    if (!strcmp(argv[3], "r")) {
        perm = O_READ;
    } else if (!strcmp(argv[3], "rw")) {
        perm = O_READ|O_WRITE;
    } else if (!strcmp(argv[3], "w")) {
        perm = O_WRITE;
    } else if (!strcmp(argv[3], "clear")) {
        perm = 0;
    } else {
        Print("Usage: setacl <file> <uid> [r | w | rw | clear\n");
	Exit();
    }

    ret = SetAcl(argv[1], atoi(argv[2]), perm);
    if (ret) {
        Print("SetAcl returned %d\n", ret);
    }
}
Example #2
0
static int Sys_SetAcl(struct Interrupt_State *state) {
  char *path;
  struct File *file;
  int rc = 0;

  rc = get_path_from_registers(state->ebx, state->ecx, &path);
  if(rc != 0) {
    return rc;
  }

  Enable_Interrupts();
  rc = SetAcl(path, state->edx, state->esi);
  Disable_Interrupts();
  Free(path);

  return rc;

}