#include #include "msg.h" /* Imprime uma mensagem na tela. * Retorna 0 se ouve problemas ou 1 * caso a mensagem tenha sido imprimida * sem erro. */ /* * Diferenças entre a versão não remota: * 1- ele usa um ponteira para um array de char envés do pointeiro * 2- ele usa dois parâmetros envés de apenas um * 3- retorna um ponteiro para um inteiro ao envés de apenas um inteiro * a)excecoes quando a opcao -M (multithread safe) e -A (auto mode) * sao usadas a variavel result nao precisa ser declarada static * 4- o nome tem um "_1_svc" no final do nome do procedimento para indicar * a versão usada. */ struct return_value * printmessage_1_svc(char **msg, struct svc_req * req){ static return_value result; // precisa ser estático printf("%s\n", *msg); // coloca 1 no primeiro parametro result.param1 = 1; // copia uma string qualquer para o param2 memcpy(result.param2, "1234", 4); result.param2[4]='\0'; // coloca 2.3 como o param3 result.param3 = 2.3; return(&result); }