File:  [Coherent Logic Development] / freem / examples / libfreem / get / get.c
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Sun Jan 19 02:04:04 2025 UTC (6 months, 2 weeks ago) by snw
Branches: MAIN, CoherentLogicDevelopment
CVS tags: v0-63-1-rc1, v0-63-0-rc1, v0-63-0, v0-62-3, v0-62-2, v0-62-1, v0-62-0, start, HEAD
FreeM

    1: #include <stdio.h>
    2: #include <sys/types.h>
    3: #include <unistd.h>
    4: #include <string.h>
    5: #include <freem.h>
    6: #include <stdlib.h>
    7: 
    8: int main(int argc, char **argv, char)
    9: {
   10:     pid_t pid;
   11:     freem_ref_t ref;
   12: 
   13:     /* get the PID of this process */
   14:     pid = getpid();
   15: 
   16:     /* we want to access an SSVN */
   17:     ref.reftype = MREF_RT_SSVN;
   18:     
   19:     /* set up the name and subscripts */
   20:     strcpy(ref.name, "JOB");
   21: 
   22:     ref.subscript_count = 2;
   23:     sprintf(ref.subscripts[0], "%d", pid);
   24:     strcpy(ref.subscripts[1], "CHARACTER");
   25: 
   26:     /* initialize libfreem, using the USER namespace */
   27:     freem_init("USER");
   28: 
   29:     /* call libfreem API */
   30:     freem_get(&ref);
   31: 
   32:     /* output the character set info */
   33:     printf("PID %d character set is '%s'\n", pid, ref.value);
   34: 
   35:     ref.reftype = MREF_RT_GLOBAL;
   36:     strcpy(ref.name, "snw");
   37:     ref.subscript_count = 0;
   38: 
   39:     freem_get(&ref);
   40: 
   41:     printf("^snw = '%s'\n", ref.value);
   42: 
   43:     char *foo;
   44:     foo = malloc (MLIB_ERRLEN);
   45: 
   46:     freem_errmsg (146, foo);
   47:     
   48:     printf("errmsg for 146: '%s'\n", foo);    
   49:     
   50: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>