Exemple #1
0
int real_post_viman_poster(POSTER_ID id, VimanObjectPublicArray* viman_data)
{
	size_t offset = 0;

	posterWrite(id, offset, viman_data, sizeof(VimanObjectPublicArray));

	return 0;
}
Exemple #2
0
static void $module$CntrlPosterWrite ()
{
  if (posterWrite ($module$CntrlPosterId, 0, (void *) $module$CntrlStrId,
		   sizeof ($MODULE$_CNTRL_STR))
      != sizeof ($MODULE$_CNTRL_STR)) {
    h2perror("$module$CntrlPosterWrite");
    $module$CntrlTaskSuspend (TRUE);
  }
}
int main(int argc, char *argv[])
{
  POSTER_ID posterIdC;
  POSTER_ID posterIdF;
  TESTPOST_STR testIn = INIT_TESTPOST_STR;
  TESTPOST_STR testOut;
  int size = sizeof(TESTPOST_STR);
  int sizeOut;
  H2_ENDIANNESS endianness;
  char c;
  char msg[256];

  printf ("testPosterWrite: LOCAL ENDIANNESS = %d\n", h2localEndianness());

  /* create */
  if (posterCreate(TEST_POSTER_NAME, size, &posterIdC) == ERROR) {
    printf ("testPosterWrite: posterCreate(%s) failed : %s\n", 
	    TEST_POSTER_NAME, h2getErrMsg(errnoGet(), msg, 256));
    return 1;
  }
  printf ("testPosterWrite: poster %s created. Id = %0x\n", 
	  TEST_POSTER_NAME, (int)posterIdC);
  posterEndianness(posterIdC, &endianness);
  printf ("testPosterWrite: posterEndianness(%s) = %d\n\n", 
	  TEST_POSTER_NAME, endianness);

  /* write */
  if ((sizeOut=posterWrite(posterIdC, 0, (void *)&testIn, size)) != size) {
    printf ("testPosterWrite: posterWrite size = %d != %d \n", sizeOut, size);
    return testEnd(posterIdC);
  }
  printf ("testPosterWrite: poster %s writen\n", TEST_POSTER_NAME);

  /* read after create */
  if ((sizeOut=posterRead(posterIdC, 0, (void *)&testOut, size)) != size) {
    printf ("testPosterWrite: posterRead size = %d != %d \n", sizeOut, size);
    return testEnd(posterIdC);
  }
  printf ("testPosterWrite: poster %s read OK\n", TEST_POSTER_NAME);

  /* display */
  if (endianness != h2localEndianness()) 
    endianswap_TESTPOST_STR(&testOut);
  printTestStr("Write", &testOut);
  printf ("\n");

  /* find */
  if (posterFind(TEST_POSTER_NAME, &posterIdF) == ERROR) {
    printf ("testPosterWrite: posterFind failed\n");
    return testEnd(posterIdC);
  }
/*   printf ("posterFind TEST_POSTER_NAME posterIdF = %d\n", (int)posterIdF); */
  posterEndianness(posterIdF, &endianness);
  printf ("   endianness = %d\n", endianness);

  /* read after find */
  if ((sizeOut=posterRead(posterIdF, 0, (void *)&testOut, size)) != size) {
    printf ("testPosterWrite: posterRead size = %d != %d \n", sizeOut, size);
    return testEnd(posterIdC);
  }

  /* display */
  if (endianness != h2localEndianness()) 
    endianswap_TESTPOST_STR(&testOut);
  printTestStr("Write", &testOut);

  /* find again */
  if (posterFind(TEST_POSTER_NAME, &posterIdF) == ERROR) {
    printf ("testPosterWrite: posterFind failed\n");
    return testEnd(posterIdC);
  }
  printf ("PosterIdF %s = %d\n", TEST_POSTER_NAME, (int)posterIdF);

  
  posterEndianness(posterIdF, &endianness);
  printf ("   endianness = %d\n", endianness);

  printf ("Return to end ....");
  fflush(stdout);
  scanf("%c", &c);

  /* end */
  return testEnd(posterIdF);
}