next up previous
Next: Provide Readable Type Names Up: Package Storage in the Previous: Advance to the next

Generated Files

A type-h file defines the information exported by the module:

FileStorage.h[8]:

#ifndef FILESTORAGE_H
#define FILESTORAGE_H

#include "deftbl.h"

extern void ImportPackage ELI_ARG((char*, DefTableKey));
extern void ImportType ELI_ARG((char*));
extern int  AnotherCompilationUnit ELI_ARG((void));
extern void InitHostSystem ELI_ARG((void));

#endif
This macro is attached to a product file.

The implementation of the module is done in C:

FileStorage.c[9]:

#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
#include <fcntl.h>

#ifdef MONITOR
#include "clp_dapto.h"
#endif
#include "clp.h"
#include "err.h"
#include "csm.h"
#include "source.h"
#include "envmod.h"
#include "Strings.h"
#include "MakeName.h"
#include "pdl_gen.h"
#include "DefTableKeyList.h"
#include "PkgAlgScope.h"
#include "PtyAlgScope.h"
#include "FilAlgScope.h"
#include "FileStorage.h"

#define MAX_PATH 256

static char *
#if PROTO_OK
DirectoryFor(char *pkg, int len)
#else
DirectoryFor(pkg, len) char *pkg; int len;
#endif
char *DirectoryFor(char *pkg, int len)[4]

int
#if PROTO_OK
AnotherCompilationUnit(void)
#else
AnotherCompilationUnit()
#endif
int AnotherCompilationUnit(void)[7]

void
#if PROTO_OK
ImportType(char *typ)
#else
ImportType(typ) char *typ;
#endif
void ImportType(char *typ)[5]

void
#if PROTO_OK
ImportPackage(char *pkg, DefTableKey key)
#else
ImportPackage(pkg, key) char *pkg; DefTableKey key;
#endif
void ImportPackage(char *pkg, DefTableKey key)[6]

void
#if PROTO_OK
InitHostSystem(void)
#else
InitHostSystem()
#endif
void InitHostSystem(void)[2]
This macro is attached to a product file.

This module adds properties for its own use:

FileStorage.pdl[10]:

IsDone: int;
PtyScope: Environment;
This macro is attached to a product file.

FileStorage.specs[11]:

$/Tech/Strings.specs
$/Tech/MakeName.gnrc +instance=Identifier :inst
$/Name/AlgScope.gnrc +instance=Fil +referto=Fil :inst
$/Name/AlgScope.gnrc +instance=Pty +referto=Pty :inst
$/Name/AlgScope.gnrc +instance=Typ +referto=Typ :inst
This macro is attached to a product file.


next up previous
Next: Provide Readable Type Names Up: Package Storage in the Previous: Advance to the next
2008-09-11