=================================================================== RCS file: /home/cvs/OpenXM/src/kan96xx/Kan/extern.h,v retrieving revision 1.27 retrieving revision 1.31 diff -u -p -r1.27 -r1.31 --- OpenXM/src/kan96xx/Kan/extern.h 2004/09/12 10:22:50 1.27 +++ OpenXM/src/kan96xx/Kan/extern.h 2005/06/09 05:46:57 1.31 @@ -1,4 +1,4 @@ -/* $OpenXM: OpenXM/src/kan96xx/Kan/extern.h,v 1.26 2004/09/12 08:55:36 takayama Exp $ */ +/* $OpenXM: OpenXM/src/kan96xx/Kan/extern.h,v 1.30 2004/09/23 12:20:52 takayama Exp $ */ /*********** global variables for module stackmachine***************/ extern int VerboseStack; extern int DebugStack; @@ -138,6 +138,9 @@ struct object KarrayToList(struct object ob); /* list:conversion */ struct object listToArray(struct object *op); struct object *arrayToList(struct object ob); +struct object newByteArray(int size,struct object obj); +struct object newByteArrayFromStr(char *s,int size); +struct object byteArrayToArray(struct object obj); /* kanExport0.c */ /** arithmetic **/ @@ -192,6 +195,8 @@ struct object KintToUniversalNumber(int n); #define Knumerator(o) ( (o).lc.op ) #define Kdenominator(o) ( (o).rc.op ) #define KopDouble(ob) (*((ob).lc.dbl)) +#define KopByteArray(o) ( (o).lc.bytes ) +#define getByteArraySize(o) ( (o).rc.ival ) char *KPOLYToString(POLY f); /** conversion 2 **/ struct object arrayOfPOLYToArray(struct arrayOfPOLY *aa); @@ -222,8 +227,9 @@ struct object Khead(struct object ob); int KpolyLength(POLY f); struct object KsetOutputOrder(struct object obj,struct ring *rp); struct object KsetVariableNames(struct object obj,struct ring *rp); +/* KgetRingInfo has not yet been implemented. */ +struct object KgetRingInfo(struct object ringObj, struct object ofunc); - /* :eval */ struct object Keval(struct object obj); @@ -245,6 +251,14 @@ struct object Kget(struct object ob1, struct object ob /** Utilities */ char *KremoveSpace(char *s); int KtoArgvbyCurryBrace(char *str,char *argv[],int limit); + +/** Attribute */ +struct object KgetAttributeList(struct object ob); +struct object KputAttributeList(struct object ob,struct object attr); +struct object KgetAttribute(struct object ob,struct object key); +struct object KputAttribute(struct object ob,struct object key,struct object value); +/* ob (key) (value) putAttribute /ob set. They are not destructive. */ + /** kanExport1.c */