+
+static int always(struct pagamento *pagamento)
+{
+ return pagamento != NULL;
+}
+
+char * pagamento_cnpj_ordenado(struct declaracao *dec, int n)
+{
+ return pagamento_cnpj_ordenado_cond(dec, always, n);
+}
+
+static int pagamento_medico(struct pagamento *pagamento)
+{
+ switch (pagamento->codigo) {
+ case 10:
+ case 21:
+ case 26:
+ return 1;
+ default:
+ return 0;
+ }
+ return 0;
+}
+
+int pagamento_instrucao(struct pagamento *pagamento)
+{
+ switch (pagamento->codigo) {
+ case 1:
+ return 1;
+ default:
+ return 0;
+ }
+ return 0;
+}
+
+char * medico_cnpj_ordenado(struct declaracao *dec, int n)
+{
+ return pagamento_cnpj_ordenado_cond(dec, pagamento_medico, n);
+}
+
+static int pagamento_inss(struct pagamento *pagamento)
+{
+ return pagamento->codigo == 36;
+}
+
+char *inss_cnpj_ordenado(struct declaracao *dec, int n)
+{
+ return pagamento_cnpj_ordenado_cond(dec, pagamento_inss, n);
+}