The airport package provides many classes useful for reading and writing configuration information from and to an Apple AirPort Base Station.

The configuration information is contained in a 17 k byte memory block that's conveniently viewed as a block with 1088 rows and 16 columns. In fact, the information is exchanged as 68 265-byte SNMPOctetStrings; information is retrieved by sending SNMP Get Requests for OID's 1.3.6.1.4.1.762.2.2.1.1.1 through 1.3.6.1.4.1.762.2.2.1.1.68, and is updated by sending SNMP Set Requests to OID's 1.3.6.1.4.1.762.2.3.1.1.1 through
1.3.6.1.4.1.762.2.3.1.1.68. Due to the necessity of the base station's "burning" received values into its EPROM (so they're maintained even if the unit is powered down), the above 68 Set Requests are followed by two additional Sets, to OID's 1.3.6.1.4.1.762.2.1.2.0 and 1.3.6.1.4.1.762.2.1.3.0, each sending an SNMPInteger with the number of bytes to be "burned in" to the EPROM (only 17336 bytes - not quite all of the 17 k-bytes sent, interestingly.)

When the 17 kB block has been retrieved from a base station, it is used to define a 1088 by 16 byte ByteBlock, which then has a number of windows defined into it enclosing various pieces of information. The ByteBlockWindows are actually defined from within AirportInfoRecord objects, which create the window and also associate a data type with the field. The datatype determines how information is translated between the byte representation and an editable String representation.

A number of user interface components are defined as AirportInfoComponent subclasses, which display and update the information contained in some region of the ByteBlock specified by an AirportInfoRecord. At the top level are AirportInfoPanels, which contain AirportInfoComponents and instruct these to write their values to the underlying windows in the byte block. Other subclasses provide buttons, checkboxes, and editable text fields; some of these may provide facilites for being associated with multiple AirportInfoRecords, for simultaneously writing into multiple fields. See the individual class documents for details.