[BACK]Return to test1.c CVS log [TXT][DIR] Up to [local] / OpenXM / doc / oxlib

File: [local] / OpenXM / doc / oxlib / test1.c (download)

Revision 1.5, Sat Mar 8 10:25:48 2003 UTC (21 years, 2 months ago) by ohara
Branch: MAIN
CVS Tags: R_1_3_1-2, RELEASE_1_3_1_13b, RELEASE_1_2_3_12, RELEASE_1_2_3, RELEASE_1_2_2_KNOPPIX_b, RELEASE_1_2_2_KNOPPIX, RELEASE_1_2_2, KNOPPIX_2006, DEB_REL_1_2_3-9
Changes since 1.4: +2 -1 lines

Add #include <stdio.h>

/* $OpenXM: OpenXM/doc/oxlib/test1.c,v 1.5 2003/03/08 10:25:48 ohara Exp $ */
#include <stdio.h>
#include <ox/cmotag.h>
#include <ox/smCommand.h>


main() {
  hoge();
}

hoge() {
  /*  (CMO_ZZ,12); */
  unsigned char cmo0[]=
  {00, 00, 00, 0x14,
   00, 00, 00, 01, 00, 00, 00, 0xc};

  /* (CMO_ZZ,8) */
  unsigned char cmo1[] =
  {00, 00, 00, 0x14,
   00, 00, 00, 01, 00, 00, 00, 8};  

  /* (CMO_INT32,2); */
  unsigned char cmo2[] =
  { 00, 00, 00, 02, 00, 00, 00, 02}; 

  /* (CMO_STRING,"igcd") */
  unsigned char cmo3[] =
  {00, 00, 00, 04, 00, 00, 00, 04,
   0x69,0x67,0x63,0x64 };
  unsigned char cmo[1024];
  int i,size;

  asir_ox_init(1);
  asir_ox_push_cmo(cmo0);
  asir_ox_push_cmo(cmo1);
  asir_ox_push_cmo(cmo2);
  asir_ox_push_cmo(cmo3);

  asir_ox_push_cmd(SM_executeFunction);  /* execute function */
  
  size = asir_ox_peek_cmo_size();
  if (size < 1024) {
	asir_ox_pop_cmo(cmo, size);
  }else{
	fprintf(stderr,"Too big cmo size.\n"); exit(1);
  }

  printf("gcd of 12 and 8, in the cmo format, is \n");
  for (i=0; i<size; i++) {
	printf(" %2x ",cmo[i]);
  }
  printf("\n");
}