Вы можете посмотреть, как реализован системный вызов getcwd
, чтобы увидеть, как это сделать.
Этот системный вызов находится в fs/dcache.c
и вызывает:
get_fs_root_and_pwd(current->fs, &root, &pwd);
root
и pwd
являются struct path
переменными,
Эта функция определена как встроенная функция в include/linux/fs_struct.h
, которая также содержит:
static inline void get_fs_pwd(struct fs_struct *fs, struct path *pwd)
, и это, кажется, то, что вы естьпосле.