| Class | Origami::XRef |
| In: |
sources/parser/xreftable.rb
|
| Parent: | Object |
Class representing a Cross-reference information.
| FREE | = | "f" |
| USED | = | "n" |
| LASTFREE | = | 65535 |
| generation | [RW] | |
| offset | [RW] | |
| state | [RW] |
| offset: | The file offset of the referenced Object. |
| generation: | The generation number of the referenced Object. |
| state: | The state of the referenced Object (FREE or USED). |
# File sources/parser/xreftable.rb, line 78
78: def initialize(offset, generation, state)
79:
80: @offset, @generation, @state = offset, generation, state
81:
82: end
# File sources/parser/xreftable.rb, line 107
107: def to_xrefstm_data(type_w, field1_w, field2_w)
108:
109: type_w <<= 3
110: field1_w <<= 3
111: field2_w <<= 3
112:
113: type = ((@state == FREE) ? "\000" : "\001").unpack("B#{type_w}")[0]
114:
115: offset = @offset.to_s(2)
116: offset = '0' * (field1_w - offset.size) + offset
117: generation = @generation.to_s(2)
118: generation = '0' * (field2_w - generation.size) + generation
119:
120: [ type , offset, generation ].pack("B#{type_w}B#{field1_w}B#{field2_w}")
121: end