"if (*total_len < sizeof(int32_t)) { errno = EFAULT; return NULL ; } "
"if (*total_len < sizeof(int32_t)) goto fail;\n"
encode_long (char *name, Type *type, FILE *f, EncodeType encodetype){     switch (encodetype) {	  case ENCODE_RX :	       fprintf (f, "{ u_int32_t u;\n"			"u = %s (%s);\n"			"if(rx_Write(call, &u, sizeof(u)) != sizeof(u))\n"			"goto fail;\n"			"}\n",			encode_function (type, encodetype),			name);	       break;	  case DECODE_RX :	       fprintf (f, "{ u_int32_t u;\n"			"if(rx_Read(call, &u, sizeof(u)) != sizeof(u))\n"			"goto fail;\n"			"%s = %s (u);\n"			"}\n", name,			encode_function (type, encodetype));	       break;	  case ENCODE_MEM :	       fprintf (f, "{ int32_t tmp = %s(%s); "			"if (*total_len < sizeof(int32_t)) { errno = EFAULT; return NULL ; } "			"bcopy ((char*)&tmp, ptr, sizeof(int32_t)); "			"ptr += sizeof(int32_t); "			"*total_len -= sizeof(int32_t);}\n",			encode_function (type, encodetype),			name);	       break;	  case DECODE_MEM :	       fprintf (f, "{ int32_t tmp; "			"if (*total_len < sizeof(int32_t)) { errno = EFAULT; return NULL ; } "			"bcopy (ptr, (char *)&tmp, sizeof(int32_t)); "			"%s = %s(tmp); "			"ptr += sizeof(int32_t); "			"*total_len -= sizeof(int32_t);}\n", 			name,			encode_function (type, encodetype));	       break;	  default :	       abort ();     }}