definition module pdSections;

import StdClass;
//1.3
from StdString import String;
//3.1

// Windows dependent part of section header
:: PDSectionHeader = {
		section_name				:: !String
	,	section_rva					:: !Int
	,	section_flags				:: !Int
	};
	
DefaultPDSectionHeader :: !PDSectionHeader;

:: SectionHeadKind = 
	  StartPrefix
	| TextSectionHeader
	| DataSectionHeader 
	| BssSectionHeader
	| IDataSectionHeader
	| EDataSectionHeader
	| RelocSectionHeader
	| ResourceSectionHeader
	| UserSectionHeader !String !Int !Int 
	| NoSectionHeader
	;
		
instance == SectionHeadKind;
instance toString SectionHeadKind;
