+/* Hard link functions. */
+
+extern int cat_check_link_ancestry(
+ struct hfsmount *hfsmp,
+ cnid_t parentid,
+ cnid_t pointed_at_cnid);
+
+extern int cat_set_childlinkbit(
+ struct hfsmount *hfsmp,
+ cnid_t cnid);
+
+#define HFS_IGNORABLE_LINK 0x00000001
+
+extern int cat_resolvelink( struct hfsmount *hfsmp,
+ u_long linkref,
+ int isdirlink,
+ struct HFSPlusCatalogFile *recp);
+
+extern int cat_createlink( struct hfsmount *hfsmp,
+ struct cat_desc *descp,
+ struct cat_attr *attr,
+ cnid_t nextlinkid,
+ cnid_t *linkfileid);
+
+/* Finder Info's file type and creator for directory hard link alias */
+enum {
+ kHFSAliasType = 0x66647270, /* 'fdrp' */
+ kHFSAliasCreator = 0x4D414353 /* 'MACS' */
+};
+
+extern int cat_deletelink( struct hfsmount *hfsmp,
+ struct cat_desc *descp);
+
+extern int cat_updatelink( struct hfsmount *hfsmp,
+ cnid_t linkfileid,
+ cnid_t prevlinkid,
+ cnid_t nextlinkid);
+
+extern int cat_lookuplink( struct hfsmount *hfsmp,
+ struct cat_desc *descp,
+ cnid_t *linkfileid,
+ cnid_t *prevlinkid,
+ cnid_t *nextlinkid);
+
+extern int cat_lookuplinkbyid( struct hfsmount *hfsmp,
+ cnid_t linkfileid,
+ cnid_t *prevlinkid,
+ cnid_t *nextlinkid);
+
+