// Generate a segment header void gen_segm_header(ea_t ea) { segment_t *Sarea = getseg(ea); char sname[MAXNAMELEN]; get_segm_name(Sarea, sname, sizeof(sname)); char *segname = sname; if ( *segname == '_' ) segname++; if ( ash.uflag & UAS_ASW ) { printf_line(inf.indent, COLSTR("SEGMENT %s", SCOLOR_ASMDIR), segname); } else { printf_line(inf.indent, COLSTR(".section .%s", SCOLOR_ASMDIR), segname); } ea_t orgbase = ea - get_segm_para(Sarea); if ( orgbase != 0 ) { char buf[MAX_NUMBUF]; btoa(buf, sizeof(buf), orgbase); printf_line(inf.indent, COLSTR("%s %s", SCOLOR_ASMDIR), ash.origin, buf); } }
// generate segment header void idaapi gen_segm_header(ea_t ea) { segment_t *Sarea = getseg(ea); char sname[MAXNAMELEN]; get_segm_name(Sarea, sname, sizeof(sname)); char *segname = sname; if ( ash.uflag & UAS_SEGM ) printf_line(inf.indent, COLSTR("SEGMENT %s", SCOLOR_ASMDIR), segname); else if ( ash.uflag & UAS_RSEG ) printf_line(inf.indent, COLSTR("RSEG %s", SCOLOR_ASMDIR), segname); ea_t orgbase = ea - get_segm_para(Sarea); if ( orgbase != 0 ) { char buf[MAX_NUMBUF]; btoa(buf, sizeof(buf), orgbase); printf_line(inf.indent, COLSTR("%s %s", SCOLOR_ASMDIR), ash.origin, buf); } }