커널에서 파일 열기,쓰기... 어떻게 하죠?

kjw2048의 이미지

커널영역에서 파일에다가 뭔가를 써야할것 같은데요...
어떤 함수를 불러야 하는지 모르겠네요...

유저프로그램에서 파일을 open하면 불리는 부분을 보면 될것 같은데....
못찾겠네요 :?

kslee80의 이미지

fs/ 디렉토리 아래에 있는 파일들중에,
sys_open() 이 구현되어 있는 파일이 있을겁니다.
(파일 이름을 기억 못해서 위치까지만 알려드립니다 =.=)

그 sys_open() 함수가 유저레벨 프로그램에서 open() 콜을 했을때
불리게 되는 함수죠.
그 함수의 내부 코드를 참고해서 구현하시면 됩니다.

P.S.) 참고로;; sys_open() 을 그냥 콜 하시면 안됩니다 -_-;

honggun22의 이미지

캄솨합니다..

pastime의 이미지

filp_open()

ganadist의 이미지

extern struct file *filp_open(const char *, int, int);
extern int filp_close(struct file *, fl_owner_t id);
extern ssize_t vfs_write(struct file *, const char __user *, size_t, loff_t *);

를 참조하세요.

----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러

----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러