diff options
author | Thomas Schwinge <thomas@schwinge.name> | 2010-12-13 17:11:51 +0100 |
---|---|---|
committer | Thomas Schwinge <thomas@schwinge.name> | 2010-12-13 17:11:51 +0100 |
commit | 2d75167da62e3486836e5f1773e5f1ab06e43fe8 (patch) | |
tree | e44fc83e0b1419836d1b21652ad1d38b8d0af2c4 /hurd/interface | |
parent | 217998d56f5b6424a685f8c87f2c0e924d1c89da (diff) | |
parent | 5c5c16e265d8ef56b71f319885f32bf144bdea23 (diff) |
Merge branch 'master' into external_pager_mechanism
Conflicts:
microkernel/mach/external_pager_mechanism.mdwn
Diffstat (limited to 'hurd/interface')
86 files changed, 1585 insertions, 0 deletions
diff --git a/hurd/interface/dir_link.mdwn b/hurd/interface/dir_link.mdwn new file mode 100644 index 00000000..0f1db578 --- /dev/null +++ b/hurd/interface/dir_link.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fs/23]] diff --git a/hurd/interface/dir_lookup.mdwn b/hurd/interface/dir_lookup.mdwn new file mode 100644 index 00000000..40e79538 --- /dev/null +++ b/hurd/interface/dir_lookup.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fs/18]] diff --git a/hurd/interface/dir_mkdir.mdwn b/hurd/interface/dir_mkdir.mdwn new file mode 100644 index 00000000..bf386818 --- /dev/null +++ b/hurd/interface/dir_mkdir.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fs/20]] diff --git a/hurd/interface/dir_mkfile.mdwn b/hurd/interface/dir_mkfile.mdwn new file mode 100644 index 00000000..01828a03 --- /dev/null +++ b/hurd/interface/dir_mkfile.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fs/25]] diff --git a/hurd/interface/dir_notice_changes.mdwn b/hurd/interface/dir_notice_changes.mdwn new file mode 100644 index 00000000..5763a0a3 --- /dev/null +++ b/hurd/interface/dir_notice_changes.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fs/26]] diff --git a/hurd/interface/dir_readdir.mdwn b/hurd/interface/dir_readdir.mdwn new file mode 100644 index 00000000..b41e8d49 --- /dev/null +++ b/hurd/interface/dir_readdir.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fs/19]] diff --git a/hurd/interface/dir_rename.mdwn b/hurd/interface/dir_rename.mdwn new file mode 100644 index 00000000..3839487f --- /dev/null +++ b/hurd/interface/dir_rename.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fs/24]] diff --git a/hurd/interface/dir_rmdir.mdwn b/hurd/interface/dir_rmdir.mdwn new file mode 100644 index 00000000..d69fdd30 --- /dev/null +++ b/hurd/interface/dir_rmdir.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fs/21]] diff --git a/hurd/interface/dir_unlink.mdwn b/hurd/interface/dir_unlink.mdwn new file mode 100644 index 00000000..a8861bac --- /dev/null +++ b/hurd/interface/dir_unlink.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fs/22]] diff --git a/hurd/interface/file_chauthor.mdwn b/hurd/interface/file_chauthor.mdwn new file mode 100644 index 00000000..6fcf97f1 --- /dev/null +++ b/hurd/interface/file_chauthor.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fs/02]] diff --git a/hurd/interface/file_check_access.mdwn b/hurd/interface/file_check_access.mdwn new file mode 100644 index 00000000..5ab4af57 --- /dev/null +++ b/hurd/interface/file_check_access.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fs/09]] diff --git a/hurd/interface/file_chflags.mdwn b/hurd/interface/file_chflags.mdwn new file mode 100644 index 00000000..6e55536b --- /dev/null +++ b/hurd/interface/file_chflags.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fs/04]] diff --git a/hurd/interface/file_chmod.mdwn b/hurd/interface/file_chmod.mdwn new file mode 100644 index 00000000..0bbb8d92 --- /dev/null +++ b/hurd/interface/file_chmod.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fs/03]] diff --git a/hurd/interface/file_chown.mdwn b/hurd/interface/file_chown.mdwn new file mode 100644 index 00000000..a99bcf85 --- /dev/null +++ b/hurd/interface/file_chown.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fs/01]] diff --git a/hurd/interface/file_exec.mdwn b/hurd/interface/file_exec.mdwn new file mode 100644 index 00000000..5f4b57f9 --- /dev/null +++ b/hurd/interface/file_exec.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fs/00]] diff --git a/hurd/interface/file_get_fs_options.mdwn b/hurd/interface/file_get_fs_options.mdwn new file mode 100644 index 00000000..b04c70a3 --- /dev/null +++ b/hurd/interface/file_get_fs_options.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fs/30]] diff --git a/hurd/interface/file_get_storage_info.mdwn b/hurd/interface/file_get_storage_info.mdwn new file mode 100644 index 00000000..87166c90 --- /dev/null +++ b/hurd/interface/file_get_storage_info.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fs/15]] diff --git a/hurd/interface/file_get_translator.mdwn b/hurd/interface/file_get_translator.mdwn new file mode 100644 index 00000000..6c8565f4 --- /dev/null +++ b/hurd/interface/file_get_translator.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fs/28]] diff --git a/hurd/interface/file_get_translator_cntl.mdwn b/hurd/interface/file_get_translator_cntl.mdwn new file mode 100644 index 00000000..befbf1a3 --- /dev/null +++ b/hurd/interface/file_get_translator_cntl.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fs/29]] diff --git a/hurd/interface/file_getcontrol.mdwn b/hurd/interface/file_getcontrol.mdwn new file mode 100644 index 00000000..94503b23 --- /dev/null +++ b/hurd/interface/file_getcontrol.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fs/11]] diff --git a/hurd/interface/file_getfh.mdwn b/hurd/interface/file_getfh.mdwn new file mode 100644 index 00000000..369afb17 --- /dev/null +++ b/hurd/interface/file_getfh.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fs/17]] diff --git a/hurd/interface/file_getlinknode.mdwn b/hurd/interface/file_getlinknode.mdwn new file mode 100644 index 00000000..64efb810 --- /dev/null +++ b/hurd/interface/file_getlinknode.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fs/16]] diff --git a/hurd/interface/file_lock.mdwn b/hurd/interface/file_lock.mdwn new file mode 100644 index 00000000..8860d24b --- /dev/null +++ b/hurd/interface/file_lock.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fs/07]] diff --git a/hurd/interface/file_lock_stat.mdwn b/hurd/interface/file_lock_stat.mdwn new file mode 100644 index 00000000..78abebb5 --- /dev/null +++ b/hurd/interface/file_lock_stat.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fs/08]] diff --git a/hurd/interface/file_notice_changes.mdwn b/hurd/interface/file_notice_changes.mdwn new file mode 100644 index 00000000..f6646410 --- /dev/null +++ b/hurd/interface/file_notice_changes.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fs/10]] diff --git a/hurd/interface/file_reparent.mdwn b/hurd/interface/file_reparent.mdwn new file mode 100644 index 00000000..80cd174e --- /dev/null +++ b/hurd/interface/file_reparent.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fs/31]] diff --git a/hurd/interface/file_set_size.mdwn b/hurd/interface/file_set_size.mdwn new file mode 100644 index 00000000..cf1e376c --- /dev/null +++ b/hurd/interface/file_set_size.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fs/06]] diff --git a/hurd/interface/file_set_translator.mdwn b/hurd/interface/file_set_translator.mdwn new file mode 100644 index 00000000..4a43bdad --- /dev/null +++ b/hurd/interface/file_set_translator.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fs/27]] diff --git a/hurd/interface/file_statfs.mdwn b/hurd/interface/file_statfs.mdwn new file mode 100644 index 00000000..f5086d34 --- /dev/null +++ b/hurd/interface/file_statfs.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fs/12]] diff --git a/hurd/interface/file_sync.mdwn b/hurd/interface/file_sync.mdwn new file mode 100644 index 00000000..160c86ca --- /dev/null +++ b/hurd/interface/file_sync.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fs/13]] diff --git a/hurd/interface/file_syncfs.mdwn b/hurd/interface/file_syncfs.mdwn new file mode 100644 index 00000000..a52e92b0 --- /dev/null +++ b/hurd/interface/file_syncfs.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fs/14]] diff --git a/hurd/interface/file_utimes.mdwn b/hurd/interface/file_utimes.mdwn new file mode 100644 index 00000000..ab09a58b --- /dev/null +++ b/hurd/interface/file_utimes.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fs/05]] diff --git a/hurd/interface/fs.mdwn b/hurd/interface/fs.mdwn new file mode 100644 index 00000000..4f217c5a --- /dev/null +++ b/hurd/interface/fs.mdwn @@ -0,0 +1,25 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="fs: Filesystem"]] + +All these objects also implement the generic IO facilities. + +To get or set the translator currently running on a file, use +[[`file_set_translator`|file_set_translator]], +[[`file_get_translator`|file_get_translator]], or +[[`file_get_translator_cntl`|file_get_translator_cntl]] on a port gotten with +the `FS_LOOKUP_NOTRANS` flag to [[`dir_lookup`|dir_lookup]]. You can send +these [[RPC]]s to a port to a translated node (looked up without +`FS_LOOKUP_NOTRANS`) to stack a new translator on top of the existing one. + +[[!map pages="hurd/interface/fs/* and !hurd/interface/fs/*/*" +show=title]] diff --git a/hurd/interface/fs/00.mdwn b/hurd/interface/fs/00.mdwn new file mode 100644 index 00000000..29b93731 --- /dev/null +++ b/hurd/interface/fs/00.mdwn @@ -0,0 +1,30 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="file_exec"]] + + routine file_exec ( + exec_file: file_t; + RPT + exec_task: task_t; + flags: int; + argv: data_t SCP; + envp: data_t SCP; + fdarray: portarray_t SCP; + portarray: portarray_t SCP; + intarray: intarray_t SCP; + deallocnames: mach_port_name_array_t SCP; + destroynames: mach_port_name_array_t SCP); + +Overlay a task with a file. Necessary initialization, including authentication +changes associated with set[ug]id execution must be handled by the filesystem. +Filesystems normally implement this by using [[`exec_newtask`|exec_newtask]] or +[[`exec_loadtask`|exec_loadtask]] as appropriate. diff --git a/hurd/interface/fs/01.mdwn b/hurd/interface/fs/01.mdwn new file mode 100644 index 00000000..7b9c7a31 --- /dev/null +++ b/hurd/interface/fs/01.mdwn @@ -0,0 +1,20 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="file_chown"]] + + routine file_chown ( + chown_file: file_t; + RPT + new_owner: uid_t; + new_group: gid_t); + +Change owner and/or group. diff --git a/hurd/interface/fs/02.mdwn b/hurd/interface/fs/02.mdwn new file mode 100644 index 00000000..3158d2c6 --- /dev/null +++ b/hurd/interface/fs/02.mdwn @@ -0,0 +1,36 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="file_chauthor"]] + + routine file_chauthor ( + chauth_file: file_t; + RPT + new_author: uid_t); + + Whan that Aprill with hith thoureth thoote + The droghte of March hath perthed to the roote, + And bathed every veyne in thwith licour, + Of which vertu engendred is the flour; + Whan Zephiruth eek with hith thweete breeth + Inthpired hath in every holt and heeth + The tender croppeth, and the yonge thonne + Hath in the Ram his halve courth yronne, + And thmale foweleth maken melodye, + That thlepen all the nyght with open ye + (Tho Priketh hem Nature in hir corageth), + Thanne longen folk to goon on pligrimageth, + And palmereth for to theken thtraunge thtrondeth, + To ferne halweth, kowthe in thondry londeth: + And thpethially, from every thireth ende + Of Engelond to Cantebury they wende, + The hooly blithful martyr for to theke, + That hem hath holpen whan that they were theeke. diff --git a/hurd/interface/fs/03.mdwn b/hurd/interface/fs/03.mdwn new file mode 100644 index 00000000..d697ec90 --- /dev/null +++ b/hurd/interface/fs/03.mdwn @@ -0,0 +1,19 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="file_chmod"]] + + routine file_chmod ( + chmod_file: file_t; + RPT + new_mode: mode_t); + +Change mode bits. diff --git a/hurd/interface/fs/04.mdwn b/hurd/interface/fs/04.mdwn new file mode 100644 index 00000000..d0386eab --- /dev/null +++ b/hurd/interface/fs/04.mdwn @@ -0,0 +1,19 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="file_chflags"]] + + routine file_chflags ( + chflags_file: file_t; + RPT + new_flags: int); + +Change file flags. diff --git a/hurd/interface/fs/05.mdwn b/hurd/interface/fs/05.mdwn new file mode 100644 index 00000000..184e2ffd --- /dev/null +++ b/hurd/interface/fs/05.mdwn @@ -0,0 +1,23 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="file_utimes"]] + + routine file_utimes ( + utimes_file: file_t; + RPT + new_atime: time_value_t; + new_mtime: time_value_t); + +Change access and modify times. + +If the microseconds value is -1 (all bits on) then the time should be set to +the current time and the remainder of the `time_value_t` ignored. diff --git a/hurd/interface/fs/06.mdwn b/hurd/interface/fs/06.mdwn new file mode 100644 index 00000000..393f1a9b --- /dev/null +++ b/hurd/interface/fs/06.mdwn @@ -0,0 +1,21 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="file_set_size"]] + + routine file_set_size ( + trunc_file: file_t; + RPT + new_size: loff_t); + +Change the size of the file. If the size increases, new blocks are +zero-filled. After successful return, it is safe to reference mapped areas of +the file up to `new_size`. diff --git a/hurd/interface/fs/07.mdwn b/hurd/interface/fs/07.mdwn new file mode 100644 index 00000000..d6408763 --- /dev/null +++ b/hurd/interface/fs/07.mdwn @@ -0,0 +1,19 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="file_lock"]] + + routine file_lock ( + lock_file: file_t; + RPT + flags: int); + +Apply/manipulate advisory lock. diff --git a/hurd/interface/fs/08.mdwn b/hurd/interface/fs/08.mdwn new file mode 100644 index 00000000..fbb3d53b --- /dev/null +++ b/hurd/interface/fs/08.mdwn @@ -0,0 +1,21 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="file_lock_stat"]] + + routine file_lock_stat ( + lock_file: file_t; + RPT + out mystatus: int; + out otherstatus: int); + +Return current lock status. `mystatus` tells what kind of lock the caller has; +`otherstatus` tells what kind of lock anyone has (including the caller). diff --git a/hurd/interface/fs/09.mdwn b/hurd/interface/fs/09.mdwn new file mode 100644 index 00000000..02c778c2 --- /dev/null +++ b/hurd/interface/fs/09.mdwn @@ -0,0 +1,24 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="file_check_access"]] + + routine file_check_access ( + file: file_t; + RPT + out allowed: int); + +Find out what kind of access this file permits the current user (regardless of +the current open modes for this port). `allowed` is a bitwise *or* of +`O_READ`, `O_WRITE`, and `O_EXEC`. This is not necessarily the same as what an +`open` or `exec` would allow; `O_EXEC` is set for *root* even if no executable +bits are on (in which case [[`file_exec`|file_exec]] should fail) and `O_WRITE` +is set a directory can be modified, even though it can't be written directly. diff --git a/hurd/interface/fs/10.mdwn b/hurd/interface/fs/10.mdwn new file mode 100644 index 00000000..56ce204f --- /dev/null +++ b/hurd/interface/fs/10.mdwn @@ -0,0 +1,20 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="file_notice_changes"]] + + routine file_notice_changes ( + file: file_t; + RPT + port: mach_port_send_t); + +Notice changes to file `file`. Send notification messages (see +[[`fs_notify.defs`|fs_notify]]) to `port` as they occur. diff --git a/hurd/interface/fs/11.mdwn b/hurd/interface/fs/11.mdwn new file mode 100644 index 00000000..94aa4ee0 --- /dev/null +++ b/hurd/interface/fs/11.mdwn @@ -0,0 +1,19 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="file_getcontrol"]] + + routine file_getcontrol ( + file: file_t; + RPT + out control: mach_port_send_t); + +Return control port for this filesystem. diff --git a/hurd/interface/fs/12.mdwn b/hurd/interface/fs/12.mdwn new file mode 100644 index 00000000..b69b591b --- /dev/null +++ b/hurd/interface/fs/12.mdwn @@ -0,0 +1,19 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="file_statfs"]] + + routine file_statfs ( + file: file_t; + RPT + out info: fsys_statfsbuf_t); + +Return filesystem status. diff --git a/hurd/interface/fs/13.mdwn b/hurd/interface/fs/13.mdwn new file mode 100644 index 00000000..2e06e0c4 --- /dev/null +++ b/hurd/interface/fs/13.mdwn @@ -0,0 +1,60 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="file_sync"]] + + routine file_sync ( + file: file_t; + RPT + wait: int; + omit_metadata: int); + +Sync the individual file. If `omit_metadata` is set, then it is only necessary +for the server to updated the actual contents of the file, not any associated +metadata. + +# Implementation Examples + +Servers that either don't keep any unsynchronized state (or don't have a +backing store at all) can simply `return 0`. Examples: [[translator/nfs]]. + +## [[libtrivfs]] + +Pass the call through to the underlying node. + +### [[storeio]] / [[streamio]] + +Instead of to the underlying node, pass the call through to the backend +(device). + +## [[libnetfs]] + +Invoke `netfs_attempt_sync`. + +## [[libdiskfs]] + +Invoke `diskfs_file_update`. + +# Usage Examples + +## [[glibc]] + + * `fdatasync` + + `file_syncfs (FD, true, true)` -- invoke it on the passed file descriptor, + do wait for completion, do allow omitting to update the associated + metadata. + + * `fsync` + + `file_syncfs (FD, true, false)` -- invoke it on the passed file descriptor, + do wait for completion, don't allow omitting to update the associated + metadata. diff --git a/hurd/interface/fs/14.mdwn b/hurd/interface/fs/14.mdwn new file mode 100644 index 00000000..a13c0bd8 --- /dev/null +++ b/hurd/interface/fs/14.mdwn @@ -0,0 +1,67 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="file_syncfs"]] + + routine file_syncfs ( + file: file_t; + RPT + wait: int; + do_children: int); + +Synchronize the entire filesystem. + +This function has a companion in [[`fsys_syncfs`|fsys_syncfs]], which is +invoked on the server's control port instead of an arbitrary node. Both of +them are usually implemented in equivalent ways. + +# Implementation Examples + +Servers that either don't keep any unsynchronized state (or don't have a +backing store at all) can simply `return 0`. Examples: [[translator/nfs]]. + +The implementation typically doesn't care on which specific node (as exported +by the implementing server) [[`file_syncfs`|file_syncfs]] is being invoked on. + +## [[libtrivfs]] + +Invoke [[`file_sync`|file_sync]] on the underlying node. Rationale: the +underlying node represents this filesystem's backend, and once this node is +synchronized, the whole [[libtrivfs]]-based filesystem is to be considered +synchronized. + +### [[storeio]] / [[streamio]] + +Instead of the to underlying node, pass the call through to the backend +(device). + +## [[libnetfs]] + +Invoke `netfs_attempt_syncfs`. + +## [[libdiskfs]] + +Invoke [[`fsys_syncfs`|fsys_syncfs]] on all active children, and invoke +`diskfs_sync_everything` and `diskfs_set_hypermetadata`. + +# Usage Examples + +## [[glibc]] + + * `sync` + + `file_syncfs ("/", false, true)` -- invoke it on the process' root directory + (`INIT_PORT_CRDIR`), don't wait for completion, do synchronize child + filesystems. + +## [[Hurd]] + + * [[`syncfs`|syncfs]] diff --git a/hurd/interface/fs/15.mdwn b/hurd/interface/fs/15.mdwn new file mode 100644 index 00000000..50dcce1b --- /dev/null +++ b/hurd/interface/fs/15.mdwn @@ -0,0 +1,23 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="file_get_storage_info"]] + + routine file_get_storage_info ( + file: file_t; + RPT + out ports: portarray_t, dealloc; + out ints: intarray_t, dealloc; + out offsets: off_array_t, dealloc; + out data: data_t, dealloc); + +Return information on the storage used to hold this file. See the comment for +`enum file_storage_class` in `<hurd/hurd_types.h>` the details. diff --git a/hurd/interface/fs/16.mdwn b/hurd/interface/fs/16.mdwn new file mode 100644 index 00000000..8ba776c1 --- /dev/null +++ b/hurd/interface/fs/16.mdwn @@ -0,0 +1,20 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="file_getlinknode"]] + + routine file_getlinknode ( + file: file_t; + RPT + out linknode: mach_port_send_t); + +Return the node for hard links to this potentially translated file. This +returns a potentially unauthenticated node. diff --git a/hurd/interface/fs/17.mdwn b/hurd/interface/fs/17.mdwn new file mode 100644 index 00000000..8895434a --- /dev/null +++ b/hurd/interface/fs/17.mdwn @@ -0,0 +1,41 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="file_getfh"]] + + routine file_getfh ( + file: file_t; + RPT + out filehandle: data_t, dealloc); + +Return a file handle for this file. This can be used by NFS and such. It is +not guaranteed that this call will work; if it doesn't, then this filesystem +cannot be NFS mounted. + +Currently file handles are only used by `nfsd` with the purpose of +having some stable representation of nodes (TODO: Add references). +The only translator library that implements `file_getfh` and the +complementary [[`fsys_getfile`|fsys_getfile]] is `libdiskfs`, so if +you are linking against a different library you should expect that the +filesystem exported by your translator will not be supported by `nfsd` +by default. + +If you would like your non-`libdiskfs` translator to be supported by +`nfsd`, you should implement these two RPCs on your own. The idea is +that to each node exported by your translator you should put in +correspondence a unique file handle. A file handle is a 28-byte +value. The first 4 bytes are not used. Then comes a 4-byte number +which should identify your node somehow (`libdiskfs` uses the index +into the internally maintained node cache). After it there comes a +4-byte number which should bear a similar function to the `st_gen` +field of a `stat` structure. Following this specification, you should +be able to implement `file_getfh` and `fsys_getfile` in a proper way +to get `nfsd` support. diff --git a/hurd/interface/fs/18.mdwn b/hurd/interface/fs/18.mdwn new file mode 100644 index 00000000..dbe606f3 --- /dev/null +++ b/hurd/interface/fs/18.mdwn @@ -0,0 +1,34 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="dir_lookup"]] + + routine dir_lookup ( + start_dir: file_t; + RPT + file_name: string_t; + flags: int; + mode: mode_t; + out do_retry: retry_type; + out retry_name: string_t; + out result: mach_port_send_t); + +Translate a file name, following all symlinks. Upon return, if `do_retry` is +`FS_RETRY_MAGICAL` then `retry_name` specifies what to do, the list of +possibilities is documented in `<hurd/hurd_types.h>`; if `FS_RETRY_REAUTH`, +then `result` should be reauthenticated before being used. If `retry_name` is +the empty string and the retry type is `FS_RETRY_NORMAL`, then no further +[[`dir_lookup`|dir_lookup]] calls are required; `result` is the port to use. +Otherwise the [[`dir_lookup`|dir_lookup]] call should be repeated, sent to +`result` (or the reauthenticated port) with `retry_name` passed for +`file_name`. This call is required to be supported by all files (even +non-directories) if the filename is null, and should function in that case as a +re-open of the file. diff --git a/hurd/interface/fs/19.mdwn b/hurd/interface/fs/19.mdwn new file mode 100644 index 00000000..86625d44 --- /dev/null +++ b/hurd/interface/fs/19.mdwn @@ -0,0 +1,29 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="dir_readdir"]] + + routine dir_readdir ( + dir: file_t; + RPT + out data: data_t, dealloc[]; + entry: int; + nentries: int; + bufsiz: vm_size_t; + out amount: int); + +Read entries from the directory. Each entry is identified by an index number +starting at 0 and running through the file. This call fetches `nentries` (or +any convenient number if `nentries` is -1) entries starting at `entry`, +returning an array of struct directs in `data`. The number of entries +successfully read is returned in `amount`. If `entry` is bigger than the index +of the last entry, then 0 is returned in `amount`. If `bufsize` is nonzero, +never return more than `bufsize` bytes of data regardless. diff --git a/hurd/interface/fs/20.mdwn b/hurd/interface/fs/20.mdwn new file mode 100644 index 00000000..da57f0b5 --- /dev/null +++ b/hurd/interface/fs/20.mdwn @@ -0,0 +1,20 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="dir_mkdir"]] + + routine dir_mkdir ( + directory: file_t; + RPT + name: string_t; + mode: mode_t); + +Create directory. diff --git a/hurd/interface/fs/21.mdwn b/hurd/interface/fs/21.mdwn new file mode 100644 index 00000000..c562333a --- /dev/null +++ b/hurd/interface/fs/21.mdwn @@ -0,0 +1,19 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="dir_rmdir"]] + + routine dir_rmdir ( + directory: file_t; + RPT + name: string_t); + +Remove directory. diff --git a/hurd/interface/fs/22.mdwn b/hurd/interface/fs/22.mdwn new file mode 100644 index 00000000..24fcdd9e --- /dev/null +++ b/hurd/interface/fs/22.mdwn @@ -0,0 +1,19 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="dir_unlink"]] + + routine dir_unlink ( + directory: file_t; + RPT + name: string_t); + +Remove non-directory. diff --git a/hurd/interface/fs/23.mdwn b/hurd/interface/fs/23.mdwn new file mode 100644 index 00000000..44621d37 --- /dev/null +++ b/hurd/interface/fs/23.mdwn @@ -0,0 +1,27 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="dir_link"]] + + routine dir_link ( + dir: file_t; + RPT + file: file_t; + name: string_t; + excl: int); + +Create a hard link. + +If `dir` and `file` are not implemented by the same filesystem, `EXDEV` should +be returned. If the two filesystems, however can inter-operate and guarantee +the appropriate POSIX semantics, they can communicate by a private protocol and +allow hard links between them. If `excl` is set, then fail if `name` already +exists in `dir`. diff --git a/hurd/interface/fs/24.mdwn b/hurd/interface/fs/24.mdwn new file mode 100644 index 00000000..aac2df60 --- /dev/null +++ b/hurd/interface/fs/24.mdwn @@ -0,0 +1,24 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="dir_rename"]] + + routine dir_rename ( + olddirectory: file_t; + RPT + oldname: string_t; + newdirectory: file_t; + newname: string_t; + excl: int); + +Rename file -- comments similar to those for [[`dir_link`|dir_link]] apply here +about `EXDEV`. If `excl` is set, then fail if `newname` already exists in +`newdirectory`. diff --git a/hurd/interface/fs/25.mdwn b/hurd/interface/fs/25.mdwn new file mode 100644 index 00000000..9b08d54f --- /dev/null +++ b/hurd/interface/fs/25.mdwn @@ -0,0 +1,25 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="dir_mkfile"]] + + routine dir_mkfile ( + directory: file_t; + RPT + flags: int; + mode: mode_t; + out newnode: mach_port_send_t); + +Create a new file without linking it into the filesystem. You still must have +write permission on the specified directory, even though it will not actually +be written. Return in `newnode` a port to the file. `flags` are the same as +for [[`dir_lookup`|dir_lookup]], but `O_CREAT` and `O_TRUNC` are assumed even +if not specified. diff --git a/hurd/interface/fs/26.mdwn b/hurd/interface/fs/26.mdwn new file mode 100644 index 00000000..82a7bca1 --- /dev/null +++ b/hurd/interface/fs/26.mdwn @@ -0,0 +1,20 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="dir_notice_changes"]] + + routine dir_notice_changes ( + directory: file_t; + RPT + port: mach_port_send_t); + +Notice changes to directory `dir`. Send directory change notifications (see +[[`fs_notify.defs`|fs_notify]]) to `port` as they occur. diff --git a/hurd/interface/fs/27.mdwn b/hurd/interface/fs/27.mdwn new file mode 100644 index 00000000..9a7bd13f --- /dev/null +++ b/hurd/interface/fs/27.mdwn @@ -0,0 +1,29 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="file_set_translator"]] + + routine file_set_translator ( + file: file_t; + RPT + passive_flags: int; + active_flags: int; + oldtrans_flags: int; + passive: data_t SCP; + active: mach_port_send_t); + +Set a translator for future lookups to a file. + +`passive` is the passive translator; `active` is the active translator. + +The `flags` are `FS_TRANS_*`, defined in `<hurd/hurd_types.h>`. `oldflags` are +sent in an [[`fsys_goaway`|fsys_goaway]] to an existing active translator if +there is one and it is to be killed. diff --git a/hurd/interface/fs/28.mdwn b/hurd/interface/fs/28.mdwn new file mode 100644 index 00000000..13ac4b7a --- /dev/null +++ b/hurd/interface/fs/28.mdwn @@ -0,0 +1,19 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="file_get_translator"]] + + routine file_get_translator ( + file: file_t; + RPT + out translator: data_t, dealloc); + +Return the stored permanent translator for this file. diff --git a/hurd/interface/fs/29.mdwn b/hurd/interface/fs/29.mdwn new file mode 100644 index 00000000..1cc3950a --- /dev/null +++ b/hurd/interface/fs/29.mdwn @@ -0,0 +1,20 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="file_get_translator_cntl"]] + + routine file_get_translator_cntl ( + file: file_t; + RPT + out translator_cntl: mach_port_send_t); + +Return the translator control port to the active translator (if any) for this +file. diff --git a/hurd/interface/fs/30.mdwn b/hurd/interface/fs/30.mdwn new file mode 100644 index 00000000..653af42f --- /dev/null +++ b/hurd/interface/fs/30.mdwn @@ -0,0 +1,20 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="file_get_fs_options"]] + + routine file_get_fs_options ( + file: file_t; + RPT + out options: data_t, dealloc); + +Return the options describing the way the receiving filesystem is running. +(Suitable as an arg for [[`fsys_set_options`|fsys_set_options]]). diff --git a/hurd/interface/fs/31.mdwn b/hurd/interface/fs/31.mdwn new file mode 100644 index 00000000..32e7efda --- /dev/null +++ b/hurd/interface/fs/31.mdwn @@ -0,0 +1,21 @@ +[[!meta copyright="Copyright © 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="file_reparent"]] + + routine file_reparent ( + file: file_t; + RPT + parent: mach_port_t; + out new_file: mach_port_send_t); + +Return a new file, `new_file`, with the same semantics as `file`, but with +lookups of `..` (if `file` is a directory) redirected to `parent`. diff --git a/hurd/interface/fsys.mdwn b/hurd/interface/fsys.mdwn new file mode 100644 index 00000000..cea10d30 --- /dev/null +++ b/hurd/interface/fsys.mdwn @@ -0,0 +1,15 @@ +[[!meta copyright="Copyright © 1992, 1993, 1994, 1995, 1996, 1997, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="fsys: Filesystem Control"]] + +[[!map pages="hurd/interface/fsys/* and !hurd/interface/fsys/*/*" +show=title]] diff --git a/hurd/interface/fsys/00.mdwn b/hurd/interface/fsys/00.mdwn new file mode 100644 index 00000000..68e0479e --- /dev/null +++ b/hurd/interface/fsys/00.mdwn @@ -0,0 +1,23 @@ +[[!meta copyright="Copyright © 1992, 1993, 1994, 1995, 1996, 1997, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="fsys_startup"]] + + routine fsys_startup ( + bootstrap: mach_port_t; + RPT + openflags: int; + control_port: mach_port_send_t; + out realnode: mach_port_send_t); + +Sent by filesystem on its bootstrap port upon startup. `realnode` is the node +this filesystem is the translator for, opened with flags `flags` (`O_NOTRANS` +is assumed even if not provided). diff --git a/hurd/interface/fsys/01.mdwn b/hurd/interface/fsys/01.mdwn new file mode 100644 index 00000000..9cb95de5 --- /dev/null +++ b/hurd/interface/fsys/01.mdwn @@ -0,0 +1,19 @@ +[[!meta copyright="Copyright © 1992, 1993, 1994, 1995, 1996, 1997, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="fsys_goaway"]] + + routine fsys_goaway ( + fsys: fsys_t; + RPT + flags: int); + +Filesystem should go away. Bye. diff --git a/hurd/interface/fsys/02.mdwn b/hurd/interface/fsys/02.mdwn new file mode 100644 index 00000000..63b84c48 --- /dev/null +++ b/hurd/interface/fsys/02.mdwn @@ -0,0 +1,33 @@ +[[!meta copyright="Copyright © 1992, 1993, 1994, 1995, 1996, 1997, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="fsys_getroot"]] + + routine fsys_getroot( + fsys: fsys_t; + RPT + #ifdef FSYS_GETROOT_UREPLY + ureplyport ureply: mig_reply_port_t; + #endif + dotdot_node: mach_port_send_t; + gen_uids: idarray_t; + gen_gids: idarray_t; + flags: int; + out do_retry: retry_type; + out retry_name: string_t; + out file: mach_port_send_t); + +Return a file to the root of the filesystem. `flags` are as for +[[`dir_lookup`|dir_lookup]] (but `O_CREAT` and `O_EXCL` are not meaningful). +`do_retry`, `retry_name`, and `result` are as for [[`dir_lookup`|dir_lookup]]. +The port should be authenticated with `gen_uids` and `gen_gids` (except, of +course, for `FS_RETRY_REAUTH` and `FS_RETRY_MAGICAL). `dotdot_node` is an +unauthenticated port for the directory in which this root is located. diff --git a/hurd/interface/fsys/03.mdwn b/hurd/interface/fsys/03.mdwn new file mode 100644 index 00000000..b0c033c2 --- /dev/null +++ b/hurd/interface/fsys/03.mdwn @@ -0,0 +1,22 @@ +[[!meta copyright="Copyright © 1992, 1993, 1994, 1995, 1996, 1997, 2002, 2009 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="fsys_getfile"]] + + routine fsys_getfile ( + fsys: fsys_t; + RPT + gen_uids: idarray_t; + gen_gids: idarray_t; + filehandle: data_t; + out file: mach_port_send_t); + +Get a file given a file handle (see [[`file_getfh`|file_getfh]]). diff --git a/hurd/interface/fsys/04.mdwn b/hurd/interface/fsys/04.mdwn new file mode 100644 index 00000000..7b370d2b --- /dev/null +++ b/hurd/interface/fsys/04.mdwn @@ -0,0 +1,58 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="fsys_syncfs"]] + + routine fsys_syncfs ( + fsys: fsys_t; + RPT + wait: int; + do_children: int); + +Synchronize the entire filesystem. + +This function has a companion in [[`file_syncfs`|file_syncfs]], which is +invoked on an arbitrary node instead of the server's control port. Both of +them are usually implemented in equivalent ways. + +# Implementation Examples + +Servers that either don't keep any unsynchronized state (or don't have a +backing store at all) can simply `return 0`. Examples: [[translator/symlink]], +[[translator/nfs]]. + +## [[libtrivfs]] + +Invoke [[`file_sync`|file_sync]] on the underlying node. Rationale: the +underlying node represents this filesystem's backend, and once this node is +synchronized, the whole [[libtrivfs]]-based filesystem is to be considered +synchronized. + +### [[storeio]] / [[streamio]] + +Instead of to the underlying node, pass the call through to the backend +(device). + +## [[libnetfs]] + +Invoke `netfs_attempt_syncfs`. + +## [[libdiskfs]] + +Invoke [[`fsys_syncfs`|fsys_syncfs]] on all active children, and invoke +`diskfs_sync_everything` and `diskfs_set_hypermetadata`. + +# Usage Examples + +## [[libdiskfs]] + +In the implementations of both [[`file_syncfs`|file_syncfs]] and +[[`fsys_syncfs`|fsys_syncfs]], [[`fsys_syncfs`|fsys_syncfs]] is invoked on all +active children. diff --git a/hurd/interface/fsys/05.mdwn b/hurd/interface/fsys/05.mdwn new file mode 100644 index 00000000..5caf6b17 --- /dev/null +++ b/hurd/interface/fsys/05.mdwn @@ -0,0 +1,20 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="fsys_set_options"]] + + routine fsys_set_options ( + fsys: fsys_t; + RPT + options: data_t; + do_children: int); + +Pass a server-specific options string. This usually includes flags similar to +command line options, e.g., `--readonly`, or `--sync=30`. diff --git a/hurd/interface/fsys/06.mdwn b/hurd/interface/fsys/06.mdwn new file mode 100644 index 00000000..c8ccbed8 --- /dev/null +++ b/hurd/interface/fsys/06.mdwn @@ -0,0 +1,20 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="fsys_getpriv"]] + + routine fsys_getpriv ( + fsys: fsys_t; + RPT + out host_priv: mach_port_send_t; + out device_master: mach_port_send_t; + out fstask: mach_port_send_t); + +This is only implemented by bootstrap filesystems. diff --git a/hurd/interface/fsys/07.mdwn b/hurd/interface/fsys/07.mdwn new file mode 100644 index 00000000..4700416d --- /dev/null +++ b/hurd/interface/fsys/07.mdwn @@ -0,0 +1,19 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="fsys_init"]] + + routine fsys_init ( + fsys: fsys_t; + sreplyport reply_port: sreply_port_t; + proc_server: mach_port_send_t; + auth_handle: auth_t); + +This is only implemented by bootstrap filesystems. diff --git a/hurd/interface/fsys/08.mdwn b/hurd/interface/fsys/08.mdwn new file mode 100644 index 00000000..42ac277d --- /dev/null +++ b/hurd/interface/fsys/08.mdwn @@ -0,0 +1,23 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="fsys_forward"]] + + routine fsys_forward ( + server: mach_port_t; + RPT + requestor: mach_port_send_t; + argv: data_t); + +Ask `server` to provide [[`fsys`|fsys]] translation service for us. +`requestor` is the bootstrap port supplied to the original translator, and +`argv` are the command line arguments. If the recipient accepts the request, +he (or some delegate) should send [[`fsys_startup`|fsys_startup]] to +`requestor` to start the filesystem up. diff --git a/hurd/interface/fsys/09.mdwn b/hurd/interface/fsys/09.mdwn new file mode 100644 index 00000000..fa5c4117 --- /dev/null +++ b/hurd/interface/fsys/09.mdwn @@ -0,0 +1,19 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="fsys_get_options"]] + + routine fsys_get_options ( + server: fsys_t; + RPT + out options: data_t, dealloc); + +Return the options describing the operation of the receiving filesystem +(sutiable for [[`fsys_set_options`|fsys_set_options]]). diff --git a/hurd/interface/fsys_forward.mdwn b/hurd/interface/fsys_forward.mdwn new file mode 100644 index 00000000..1ab16003 --- /dev/null +++ b/hurd/interface/fsys_forward.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fsys/08]] diff --git a/hurd/interface/fsys_get_options.mdwn b/hurd/interface/fsys_get_options.mdwn new file mode 100644 index 00000000..5a48d24d --- /dev/null +++ b/hurd/interface/fsys_get_options.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fsys/09]] diff --git a/hurd/interface/fsys_getfile.mdwn b/hurd/interface/fsys_getfile.mdwn new file mode 100644 index 00000000..d292f265 --- /dev/null +++ b/hurd/interface/fsys_getfile.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fsys/03]] diff --git a/hurd/interface/fsys_getpriv.mdwn b/hurd/interface/fsys_getpriv.mdwn new file mode 100644 index 00000000..6c4332ba --- /dev/null +++ b/hurd/interface/fsys_getpriv.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fsys/06]] diff --git a/hurd/interface/fsys_getroot.mdwn b/hurd/interface/fsys_getroot.mdwn new file mode 100644 index 00000000..ff03c482 --- /dev/null +++ b/hurd/interface/fsys_getroot.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fsys/02]] diff --git a/hurd/interface/fsys_goaway.mdwn b/hurd/interface/fsys_goaway.mdwn new file mode 100644 index 00000000..bf431a08 --- /dev/null +++ b/hurd/interface/fsys_goaway.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fsys/01]] diff --git a/hurd/interface/fsys_init.mdwn b/hurd/interface/fsys_init.mdwn new file mode 100644 index 00000000..2be8dfb9 --- /dev/null +++ b/hurd/interface/fsys_init.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fsys/07]] diff --git a/hurd/interface/fsys_set_options.mdwn b/hurd/interface/fsys_set_options.mdwn new file mode 100644 index 00000000..7f977c20 --- /dev/null +++ b/hurd/interface/fsys_set_options.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fsys/05]] diff --git a/hurd/interface/fsys_startup.mdwn b/hurd/interface/fsys_startup.mdwn new file mode 100644 index 00000000..21cbdee3 --- /dev/null +++ b/hurd/interface/fsys_startup.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fsys/00]] diff --git a/hurd/interface/fsys_syncfs.mdwn b/hurd/interface/fsys_syncfs.mdwn new file mode 100644 index 00000000..88955524 --- /dev/null +++ b/hurd/interface/fsys_syncfs.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta redir=fsys/04]] |