[BACK]Return to sample1.c CVS log [TXT][DIR] Up to [local] / OpenXM / src / ox_toolkit

File: [local] / OpenXM / src / ox_toolkit / sample1.c (download)

Revision 1.2, Fri Mar 10 12:24:39 2000 UTC (24 years, 2 months ago) by ohara
Branch: MAIN
CVS Tags: RELEASE_1_1_3, RELEASE_1_1_2
Changes since 1.1: +2 -2 lines

ox.h and ox_tag.h have been renamed

/* -*- mode: C -*- */
/* $OpenXM: OpenXM/src/ox_toolkit/sample1.c,v 1.2 2000/03/10 12:24:39 ohara Exp $ */

/*
   This sample program explains how to construct
     (OX_DATA,(CMO_INT,32))
     (OX_DATA,(CMO_STRING,"Hello"))
     (OX_DATA,(CMO_LIST,1,2,3))
     (OX_COMMAND,(SM_popCMO))
     etc
   by using C functions.
*/

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include "ox_toolkit.h"

/* This program uses High-level functions of OpenXM C library. */
int main()
{
	ox_file_t s;
	cmo_list *c;

	/* starting an OpenXM server */
    s = ox_start("localhost", "ox", "ox_sm1"); 

	ox_push_cmo(s, (cmo *)new_cmo_int32(32));
	ox_push_cmo(s, (cmo *)new_cmo_string("Hello"));

	/* making a list {10000, -2342, 3141592653289793238462643383279}.
       the elements are a bignum. */
	c = new_cmo_list();

	append_cmo_list(c, new_cmo_zz_set_si(10000));
	append_cmo_list(c, new_cmo_zz_set_si(-2342));
	append_cmo_list(c, new_cmo_zz_set_string("3141592653289793238462643383279"));

	/* sending the list above. */
	ox_push_cmo(s, (cmo *)c);

	ox_push_cmd(s, SM_popCMO);
	ox_push_cmd(s, SM_popCMO);
	ox_push_cmd(s, SM_popCMO);

    ox_close(s);
    return 0;
}