Hmm...I really don't feel like coding this right now (It's not exactly been a good week, and I think getting Linux audio set up and working properly exceeded my tolerance level for trial-and-error-debugging.)
However. It would probably require changes to the ship_do_damage and parse_ship functions, but not much beyond that, depending on the complexity of the system. Otherwise it might require some sort of parse_weapon and parse_armor changes.
There have been several proposals for an armor system, the easiest would probably be a table of armor type vs weapon damage type, and a multiplier applied to the weapon damage when that particular weapon strikes this particular hull. Then you give weapons/ships a damage type/armor index. When a weapon strikes a ship, then the code indexes the table and does weapon_damage *= Armor_table[sip->armor_index][wip->weapon_index];
or, in other words, multiplies it by the entry in the table that corresponds with the damage/armor type of the two objects.