2010-08-13 7 views
3

mount() 함수를 올바르게 사용하는 방법에 대한 자습서를 필자가 찾고있었습니다. (이 지식을 숨기려면 매우 유용합니다).C에서 mount (2) 함수 사용

단일 사용자 모드에서 MNT_UPDATE "/"(이 경우/dev/disk0s2)에 사용해야하지만이 기능을 사용하는 방법에 대한 예제 또는 자습서를 찾을 수 없습니다.

ps. "시스템 사용()" pps를 입력하십시오.

int ret = mount("hfs", "/", MNT_UPDATE, some_data); 

트릭은 : 나는 /이 sbin에/마운트는 이유로, 당신은 아마 이미 매뉴얼 페이지를 읽고, 당신은 다음과 같이 사용 교육을 목적으로

+2

'man 2 mount'를 사용해 보셨습니까? (또는 유닉스 배포판에있는 어떤 수동 카테고리 이건) – zneak

+1

@ Nikolai N Fetissov : OS X. – zneak

+0

에 태그가 붙어 있습니다 http://developer.apple.com/mac/library/documentation/Darwin/Reference/ManPages/man2/ –

답변

2

을 위해이 일을하고있어 존재 알고 무엇이 "데이터"가 될 것인가. 이것은 시스템 헤더의 파일 시스템 이름을 grepping하여 찾을 수있는 파일 시스템 특정 구조입니다. 예를 들어 HFS의 경우 /usr/include/hfs/hfs_mount.h :

struct hfs_mount_args { 
    char  *fspec; /* <--- This is the device to mount */ 
    uid_t  hfs_uid; 
    gid_t  hfs_gid; 
    mode_t hfs_mask; 
    u_int32_t hfs_encoding; 
    struct timezone hfs_timezone; 
    int  flags; 
    int  journal_tbuffer_size; 
    int  journal_flags; 
    int  journal_disable; 
}; 
+0

은 hfs_mount_args-> fspec = "/ dev/disk0s2"일까요? –

+0

\t struct hfs_mount_args some_data; \t \t \t \t some_data.fspec = strdup("/dev/disk0s2"); \t int res = mount("hfs", "/", MNT_UPDATE ,&some_data); \t \t \t NSLog(@"Error:%d %s",res,strerror(errno)); 오류 : 0 해당 파일 또는 디렉토리가 없습니다. –

+0

죄송합니다.이 포럼의 코드 태그를 모르겠습니다. –