mirror of
https://github.com/RhapsodiOS/RhapsodiOS.git
synced 2026-11-03 22:01:40 -07:00
[GH-ISSUE #34] Reverse engineer oamshim and ServerControl frameworks for bootp-1 #25
Labels
No labels
bug
documentation
enhancement
enhancement
good first issue
help wanted
help wanted
pull-request
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
github-starred/RhapsodiOS#25
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @raynorpat on GitHub (Oct 2, 2026).
Original GitHub issue: https://github.com/RhapsodiOS/RhapsodiOS/issues/34
Summary
Reverse engineer and add the missing
oamshim.frameworkandServerControl.frameworkinterfaces/implementations needed bysrc/bootp-1, so the BOOTP clients and daemon can build.The project Makefiles link both frameworks. The DR2 guest has neither in
/System/Library/PrivateFrameworks, and the docket identifies no source for them in this tree.Blocked targets
bootplibandbootpd.tprojdepend onoamshim.framework.bootplib's PowerPCsharepoints.calso depends onServerControl.framework./usr/sbin/bootpcon PowerPC and/usr/libexec/bootpdon both CPUs according to the docket;bootplib/bootpdalso have architecture-specific source gaps described below.Required API surface
oamshim.frameworkHeaders imported by
bootp-1:oamshim/MacTypes.h,oamshim/OAMTypes.h,oamshim/OAM.h, andoamshim/AppleShareRegistry.h.The daemon uses the OAM session/object operations
OAMInitialize,OAMOpenSession,OAMCloseSession,OAMCreateObject,OAMDeleteObject,OAMGetAttribute,OAMSetAttribute,OAMAddGroupMember, andOAMRemoveGroupMember. It depends onOAMStatus,OAMSessionID,OAMType,OAMShortObjectSpec,OAMObjectSpec, andOAMAttributeDescriptor, plus the user/group/basic object types, name/short-ID spec types, password/internet-name/user-flags attributes, login flags, and duplicate-object status. The detailed field and constant list is indocs/reverse-engineering-docket.md.The OAM-backed
afpuser.cis compiled on both CPUs, so the implementation must support both architectures.ServerControl.frameworkThe PowerPC share-point code imports
ServerControl/ServerControlAPI.hand usesAddSharePoint,CreateSharePointIter,GetNextSharePoint,GetSharePointAttribute, andDeleteSharePointIter, withSharePointSpec,SharePointInfo, iterator/reference types, and the AFP/share-point constants. Determine and document which declarations belong in ServerControl versusAppleShareRegistry.hbased on reference binaries.Acceptance criteria
bootp-1targets with those frameworks available, resolving the link failures attributable to these dependencies.libinfo-hdrs,arpa/nameser.h, and the HFS glue /-lVDI-interfacegaps) tracked separately; those are listed in the docket as additional blockers, not framework reverse-engineering work.See
docs/reverse-engineering-docket.mdfor the API inventory, build results, and dependency context.