void WriteServerHeader(FILE *file, const statement_t *stats) { register const statement_t *stat; const char *protect = strconcat(SubsystemName, "_server_"); WriteProlog(file, protect); for (stat = stats; stat != stNULL; stat = stat->stNext) switch (stat->stKind) { case skRoutine: WriteServerRoutine(file, stat->stRoutine); break; case skImport: case skSImport: WriteImport(file, stat->stFileName); break; case skUImport: break; default: fatal("WriteServerHeader(): bad statement_kind_t (%d)", (int) stat->stKind); } WriteEpilog(file, protect); }
void WriteServerHeader(FILE *file, statement_t *stats) { register statement_t *stat; const char *protect = strconcat(SubsystemName, "_server_"); WriteProlog(file, protect, TRUE, FALSE); for (stat = stats; stat != stNULL; stat = stat->stNext) switch (stat->stKind) { case skImport: case skSImport: case skDImport: WriteImport(file, stat->stFileName); break; case skRoutine: case skUImport: case skIImport: break; default: fatal("WriteServerHeader(): bad statement_kind_t (%d)", (int) stat->stKind); } fprintf(file, "\n#ifdef __BeforeMigServerHeader\n"); fprintf(file, "__BeforeMigServerHeader\n"); fprintf(file, "#endif /* __BeforeMigServerHeader */\n\n"); for (stat = stats; stat != stNULL; stat = stat->stNext) { if (stat->stKind == skRoutine) WriteServerRoutine(file, stat->stRoutine); } for (stat = stats; stat != stNULL; stat = stat->stNext) { if (stat->stKind == skRoutine) WriteServerRoutine(file, stat->stRoutine); } WriteDispatcher(file); WriteRequestTypes(file, stats); WriteServerRequestUnion(file, stats); WriteReplyTypes(file, stats); WriteServerReplyUnion(file, stats); WriteEpilog(file, protect, FALSE); }