예제 #1
0
파일: fcntl.py 프로젝트: fuxy97/Ext2Emu
def open(path, oflag=0, mode=0):
    if oflag != openfile.O_CREAT | openfile.O_EXCL and oflag != openfile.O_RDONLY and \
       oflag != openfile.O_RDWR and oflag != openfile.O_WRONLY:
        raise UnsupportedOFlagError('oflag value: ' + str(oflag))

    return syscall(path + ' ' + str(oflag) + ' ' + str(mode),
                   syscalls.FileSysCall.OPEN.value, int)
예제 #2
0
파일: dcntl.py 프로젝트: fuxy97/Ext2Emu
def rmdir(path):
    return syscall(path, syscalls.DirSysCall.DELETE.value, int)
예제 #3
0
파일: dcntl.py 프로젝트: fuxy97/Ext2Emu
def mkdir(path, mode):
    return syscall(path + ' ' + str(mode), syscalls.DirSysCall.CREATE.value, int)
예제 #4
0
파일: dcntl.py 프로젝트: fuxy97/Ext2Emu
def readdir(fd):
    return syscall(str(fd), syscalls.DirSysCall.READ.value, literal_eval)
예제 #5
0
파일: dcntl.py 프로젝트: fuxy97/Ext2Emu
def closedir(fd):
    return syscall(str(fd), syscalls.DirSysCall.CLOSE.value, int)
예제 #6
0
파일: dcntl.py 프로젝트: fuxy97/Ext2Emu
def opendir(path):
    return syscall(path, syscalls.DirSysCall.OPEN.value, int)
예제 #7
0
파일: fcntl.py 프로젝트: fuxy97/Ext2Emu
def seek(fd, offset):
    return syscall(
        str(fd) + ' ' + str(offset), syscalls.FileSysCall.SEEK.value, int)
예제 #8
0
파일: user.py 프로젝트: fuxy97/Ext2Emu
def exit():
    return syscall('', syscalls.UserSysCall.EXIT.value, int)
예제 #9
0
파일: fcntl.py 프로젝트: fuxy97/Ext2Emu
def read(fd, nbytes):
    return syscall(
        str(fd) + ' ' + str(nbytes), syscalls.FileSysCall.READ.value,
        base64.b64decode)
예제 #10
0
파일: fcntl.py 프로젝트: fuxy97/Ext2Emu
def append(fd, buf, nbytes):
    return syscall(
        str(fd) + ' ' + buf.decode(encoding='ASCII') + ' ' + str(nbytes),
        syscalls.FileSysCall.APPEND.value, int)
예제 #11
0
파일: fcntl.py 프로젝트: fuxy97/Ext2Emu
def unlink(path):
    return syscall(path, syscalls.FileSysCall.DELETE.value, int)
예제 #12
0
파일: fcntl.py 프로젝트: fuxy97/Ext2Emu
def close(fd):
    return syscall(str(fd), syscalls.FileSysCall.CLOSE.value, int)
예제 #13
0
파일: fcntl.py 프로젝트: fuxy97/Ext2Emu
def creat(path, mode):
    return syscall(path + ' ' + str(mode), syscalls.FileSysCall.CREATE.value,
                   int)
예제 #14
0
def stat(path):
    return syscall(path, syscalls.FileSysCall.GET_ATTRIBUTES.value,
                   literal_eval)
예제 #15
0
파일: fcntl.py 프로젝트: fuxy97/Ext2Emu
def write(fd, buf, nbytes):
    return syscall(
        (str(fd) + ' ' + base64.b64encode(buf).decode(encoding='ASCII') + ' ' +
         str(nbytes)), syscalls.FileSysCall.WRITE.value, int)
예제 #16
0
def chmod(path, mode):
    return syscall(path + ' ' + str(mode),
                   syscalls.FileSysCall.SET_ATTRIBUTES.value, int)
예제 #17
0
파일: user.py 프로젝트: fuxy97/Ext2Emu
def login(user, passwd):
    return syscall(user + ' ' + passwd, syscalls.UserSysCall.AUTH.value, int)