Tôi đang cố gắng tìm (các) thành viên của số struct fdtable
hoặc struct file
sẽ cho phép tôi xác định xem tệp mở có phải là ổ cắm hay ống dẫn hay không.Làm cách nào để xác định xem tệp mở là ổ cắm hay đường ống?
con đường duy nhất tôi có thể tìm thấy dường như là:
struct file f ....;
f.path->mnt->mnt_devname
này trả về tên thiết bị tại mountpoint, tất cả các ổ cắm/Ống rõ ràng thuộc về sockfs hoặc pipefs tương ứng.
Có cách nào nhanh hơn để kiểm tra xem tệp mở có phải là ổ cắm hoặc đường ống sử dụng thành viên khác của tệp struct hoặc fdtable không?
Lưu ý: Tôi đang sử dụng các định nghĩa hạt nhân từ 2.6.24
Cảm ơn điều này rất hữu ích. –