示例#1
0
int shell_groupdel(int argc, char **argv) {
	if (argc != 1) {
		printf("usage: groupdel USERNAME\n");
		return -1;
	}
	_SysCall(SYSTEM_GROUPDEL, argv[0]);
	return 0;
}
示例#2
0
/** GROUP **/
int shell_groupadd(int argc, char **argv) {
	if (argc != 2) {
		printf("usage: groupadd GROUP PASSWORD\n");
		return -1;
	}
	_SysCall(SYSTEM_GROUPADD, argv[0], argv[1]);
	return 0;
}
示例#3
0
int shell_usersetgid(int argc, char **argv) {
	if (argc != 2) {
		printf("usage: usersetgid USERNAME GID\n");
		return -1;
	}
	_SysCall(SYSTEM_USERSETGID, argv[0], atoi(argv[1]));
	return 0;
}
示例#4
0
int shell_userdel(int argc, char **argv) {
	if (argc != 1) {
		printf("usage: userdel USERNAME\n");
		return -1;
	}
	_SysCall(SYSTEM_USERDEL, argv[0]);
	return 0;
}
示例#5
0
// Permissions
int shell_useradd(int argc, char **argv) {
	if (argc != 2) {
		printf("usage: useradd USERNAME PASSWORD\n");
		return -1;
	}
	_SysCall(SYSTEM_USERADD, argv[0], argv[1]);
	return 0;
}
示例#6
0
int shell_userlist(int argc, char **argv) {
	if (argc != 0) {
		printf("usage: userlist\n");
		return -1;
	}
	calluser_t userlist[USER_MAX];
	_SysCall(SYSTEM_USERLIST, userlist);
	printf("\tuid\tgid\tusername\n");
	printf("\t---\t---\t--------\n");
	for (int i = 0; i < USER_MAX; ++i) {
		calluser_t user = userlist[i];
		if (user.uid != NO_USER) {
			printf("\t%d\t%d\t%s\n", user.uid, user.gid, user.userName);
		}
	}
	return 0;
}
示例#7
0
int shell_grouplist(int argc, char **argv) {
	if (argc != 0) {
		printf("usage: grouplist\n");
		return -1;
	}
	callgroup_t grouplist[GROUP_MAX];
	_SysCall(SYSTEM_GROUPLIST, grouplist);
	printf("\tgid\tgroupname\n");
	printf("\t---\t---------\n");
	int i;
	for (i = 0; i < GROUP_MAX; ++i) {
		callgroup_t group = grouplist[i];
		if (group.gid != NO_GROUP) {
			printf("\t%d\t%s\n", group.gid, group.groupName);
		}
	}
	return 0;
}
示例#8
0
u32int yield() {
    _SysCall(SYSTEM_YIELD);
    return 0;
}
示例#9
0
/*
fd = File descriptor of file into which data is written.

buffer = Data to be written..

count = Maximum number of bytes.
*/
size_t __write(int fd, const void * buffer, size_t count) {
	_SysCall(SYSTEM_WRITE, fd, buffer, count);
	return count;
}
示例#10
0
/*
fd = File descriptor referring to the open file.

buffer = Storage location for data.

count = Maximum number of bytes.
*/
size_t __read(int fd, void * buffer, size_t count) {
	_SysCall(SYSTEM_READ,fd, buffer, count);
	return count;
}