⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 twebenv.c

📁 ncbi源码
💻 C
📖 第 1 页 / 共 5 页
字号:
/****************************************************    QueryRelatedNew()***************************************************/NLM_EXTERN QueryRelatedPtr LIBCALLQueryRelatedNew(void){   QueryRelatedPtr ptr = MemNew((size_t) sizeof(QueryRelated));   return ptr;}/****************************************************    QueryRelatedFree()***************************************************/NLM_EXTERN QueryRelatedPtr LIBCALLQueryRelatedFree(QueryRelatedPtr ptr){   if(ptr == NULL) {      return NULL;   }   QueryCommandFree(ptr -> base);   MemFree(ptr -> relation);   MemFree(ptr -> db);   Items_itemsFree(ptr -> Items_items);   return MemFree(ptr);}/****************************************************    Items_itemsFree()***************************************************/static Items_itemsPtr LIBCALLItems_itemsFree(ValNodePtr anp){   Pointer pnt;   if (anp == NULL) {      return NULL;   }   pnt = anp->data.ptrvalue;   switch (anp->choice)   {   default:      break;   case Items_items_items:      ItemSetFree(anp -> data.ptrvalue);      break;   }   return MemFree(anp);}/****************************************************    QueryRelatedAsnRead()***************************************************/NLM_EXTERN QueryRelatedPtr LIBCALLQueryRelatedAsnRead(AsnIoPtr aip, AsnTypePtr orig){   DataVal av;   AsnTypePtr atp;   Boolean isError = FALSE;   AsnReadFunc func;   QueryRelatedPtr ptr;   if (! loaded)   {      if (! twebenvAsnLoad()) {         return NULL;      }   }   if (aip == NULL) {      return NULL;   }   if (orig == NULL) {         /* QueryRelated ::= (self contained) */      atp = AsnReadId(aip, amp, QUERY_RELATED);   } else {      atp = AsnLinkType(orig, QUERY_RELATED);   }   /* link in local tree */   if (atp == NULL) {      return NULL;   }   ptr = QueryRelatedNew();   if (ptr == NULL) {      goto erret;   }   if (AsnReadVal(aip, atp, &av) <= 0) { /* read the start struct */      goto erret;   }   atp = AsnReadId(aip,amp, atp);   func = NULL;   if (atp == QUERY_RELATED_base) {      ptr -> base = QueryCommandAsnRead(aip, atp);      if (aip -> io_failure) {         goto erret;      }      atp = AsnReadId(aip,amp, atp);   }   if (atp == QUERY_RELATED_relation) {      if ( AsnReadVal(aip, atp, &av) <= 0) {         goto erret;      }      ptr -> relation = av.ptrvalue;      atp = AsnReadId(aip,amp, atp);   }   if (atp == QUERY_RELATED_db) {      if ( AsnReadVal(aip, atp, &av) <= 0) {         goto erret;      }      ptr -> db = av.ptrvalue;      atp = AsnReadId(aip,amp, atp);   }   if (atp == QUERY_RELATED_items) {      ptr -> Items_items = Items_itemsAsnRead(aip, atp);      if (aip -> io_failure) {         goto erret;      }      atp = AsnReadId(aip,amp, atp);   }   if (AsnReadVal(aip, atp, &av) <= 0) {      goto erret;   }   /* end struct */ret:   AsnUnlinkType(orig);       /* unlink local tree */   return ptr;erret:   aip -> io_failure = TRUE;   ptr = QueryRelatedFree(ptr);   goto ret;}/****************************************************    Items_itemsAsnRead()***************************************************/static Items_itemsPtr LIBCALLItems_itemsAsnRead(AsnIoPtr aip, AsnTypePtr orig){   DataVal av;   AsnTypePtr atp;   ValNodePtr anp;   Uint1 choice;   Boolean isError = FALSE;   Boolean nullIsError = FALSE;   AsnReadFunc func;   if (! loaded)   {      if (! twebenvAsnLoad()) {         return NULL;      }   }   if (aip == NULL) {      return NULL;   }   if (orig == NULL) {         /* Items_items ::= (self contained) */      atp = AsnReadId(aip, amp, QUERY_RELATED_items);   } else {      atp = AsnLinkType(orig, QUERY_RELATED_items);    /* link in local tree */   }   if (atp == NULL) {      return NULL;   }   anp = ValNodeNew(NULL);   if (anp == NULL) {      goto erret;   }   if (AsnReadVal(aip, atp, &av) <= 0) { /* read the CHOICE or OpenStruct value (nothing) */      goto erret;   }   func = NULL;   atp = AsnReadId(aip, amp, atp);  /* find the choice */   if (atp == NULL) {      goto erret;   }   if (atp == QUERY_RELATED_items_items) {      choice = Items_items_items;      func = (AsnReadFunc) ItemSetAsnRead;   }   else if (atp == QUERY_RELATED_items_itemCount) {      choice = Items_items_itemCount;      if (AsnReadVal(aip, atp, &av) <= 0) {         goto erret;      }      anp->data.intvalue = av.intvalue;   }   anp->choice = choice;   if (func != NULL)   {      anp->data.ptrvalue = (* func)(aip, atp);      if (aip -> io_failure) goto erret;      if (nullIsError && anp->data.ptrvalue == NULL) {         goto erret;      }   }ret:   AsnUnlinkType(orig);       /* unlink local tree */   return anp;erret:   anp = MemFree(anp);   aip -> io_failure = TRUE;   goto ret;}/****************************************************    QueryRelatedAsnWrite()***************************************************/NLM_EXTERN Boolean LIBCALL QueryRelatedAsnWrite(QueryRelatedPtr ptr, AsnIoPtr aip, AsnTypePtr orig){   DataVal av;   AsnTypePtr atp;   Boolean retval = FALSE;   if (! loaded)   {      if (! twebenvAsnLoad()) {         return FALSE;      }   }   if (aip == NULL) {      return FALSE;   }   atp = AsnLinkType(orig, QUERY_RELATED);   /* link local tree */   if (atp == NULL) {      return FALSE;   }   if (ptr == NULL) { AsnNullValueMsg(aip, atp); goto erret; }   if (! AsnOpenStruct(aip, atp, (Pointer) ptr)) {      goto erret;   }   if (ptr -> base != NULL) {      if ( ! QueryCommandAsnWrite(ptr -> base, aip, QUERY_RELATED_base)) {         goto erret;      }   }   if (ptr -> relation != NULL) {      av.ptrvalue = ptr -> relation;      retval = AsnWrite(aip, QUERY_RELATED_relation,  &av);   }   if (ptr -> db != NULL) {      av.ptrvalue = ptr -> db;      retval = AsnWrite(aip, QUERY_RELATED_db,  &av);   }   if (ptr -> Items_items != NULL) {      if ( ! Items_itemsAsnWrite(ptr -> Items_items, aip, QUERY_RELATED_items)) {         goto erret;      }   }   if (! AsnCloseStruct(aip, atp, (Pointer)ptr)) {      goto erret;   }   retval = TRUE;erret:   AsnUnlinkType(orig);       /* unlink local tree */   return retval;}/****************************************************    Items_itemsAsnWrite()***************************************************/static Boolean LIBCALL Items_itemsAsnWrite(Items_itemsPtr anp, AsnIoPtr aip, AsnTypePtr orig){   DataVal av;   AsnTypePtr atp, writetype = NULL;   Pointer pnt;   AsnWriteFunc func = NULL;   Boolean retval = FALSE;   if (! loaded)   {      if (! twebenvAsnLoad())      return FALSE;   }   if (aip == NULL)   return FALSE;   atp = AsnLinkType(orig, QUERY_RELATED_items);   /* link local tree */   if (atp == NULL) {      return FALSE;   }   if (anp == NULL) { AsnNullValueMsg(aip, atp); goto erret; }   av.ptrvalue = (Pointer)anp;   if (! AsnWriteChoice(aip, atp, (Int2)anp->choice, &av)) {      goto erret;   }   pnt = anp->data.ptrvalue;   switch (anp->choice)   {   case Items_items_items:      writetype = QUERY_RELATED_items_items;      func = (AsnWriteFunc) ItemSetAsnWrite;      break;   case Items_items_itemCount:      av.intvalue = anp->data.intvalue;      retval = AsnWrite(aip, QUERY_RELATED_items_itemCount, &av);      break;   }   if (writetype != NULL) {      retval = (* func)(pnt, aip, writetype);   /* write it out */   }   if (!retval) {      goto erret;   }   retval = TRUE;erret:   AsnUnlinkType(orig);       /* unlink local tree */   return retval;}/****************************************************    ItemSetNew()***************************************************/NLM_EXTERN ItemSetPtr LIBCALLItemSetNew(void){   ItemSetPtr ptr = MemNew((size_t) sizeof(ItemSet));   return ptr;}/****************************************************    ItemSetFree()***************************************************/NLM_EXTERN ItemSetPtr LIBCALLItemSetFree(ItemSetPtr ptr){   if(ptr == NULL) {      return NULL;   }   BSFree(ptr -> items);   return MemFree(ptr);}/****************************************************    ItemSetAsnRead()***************************************************/NLM_EXTERN ItemSetPtr LIBCALLItemSetAsnRead(AsnIoPtr aip, AsnTypePtr orig){   DataVal av;   AsnTypePtr atp;   Boolean isError = FALSE;   AsnReadFunc func;   ItemSetPtr ptr;   if (! loaded)   {      if (! twebenvAsnLoad()) {         return NULL;      }   }   if (aip == NULL) {      return NULL;   }   if (orig == NULL) {         /* ItemSet ::= (self contained) */      atp = AsnReadId(aip, amp, ITEM_SET);   } else {      atp = AsnLinkType(orig, ITEM_SET);   }   /* link in local tree */   if (atp == NULL) {      return NULL;   }   ptr = ItemSetNew();   if (ptr == NULL) {      goto erret;   }   if (AsnReadVal(aip, atp, &av) <= 0) { /* read the start struct */      goto erret;   }   atp = AsnReadId(aip,amp, atp);   func = NULL;   if (atp == ITEM_SET_items) {      if ( AsnReadVal(aip, atp, &av) <= 0) {         goto erret;      }      ptr -> items = av.ptrvalue;      atp = AsnReadId(aip,amp, atp);   }   if (atp == ITEM_SET_count) {      if ( AsnReadVal(aip, atp, &av) <= 0) {         goto erret;      }      ptr -> count = av.intvalue;      atp = AsnReadId(aip,amp, atp);   }   if (AsnReadVal(aip, atp, &av) <= 0) {      goto erret;   }   /* end struct */ret:   AsnUnlinkType(orig);       /* unlink local tree */   return ptr;erret:   aip -> io_failure = TRUE;   ptr = ItemSetFree(ptr);   goto ret;}/****************************************************    ItemSetAsnWrite()***************************************************/NLM_EXTERN Boolean LIBCALL ItemSetAsnWrite(ItemSetPtr ptr, AsnIoPtr aip, AsnTypePtr orig){   DataVal av;   AsnTypePtr atp;   Boolean retval = FALSE;   if (! loaded)   {      if (! twebenvAsnLoad()) {         return FALSE;      }   }   if (aip == NULL) {      return FALSE;   }   atp = AsnLinkType(orig, ITEM_SET);   /* link local tree */   if (atp == NULL) {      return FALSE;   }   if (ptr == NULL) { AsnNullValueMsg(aip, atp); goto erret; }   if (! AsnOpenStruct(aip, atp, (Pointer) ptr)) {      goto erret;   }   if (ptr -> items != NULL) {      av.ptrvalue = ptr -> items;      retval = AsnWrite(aip, ITEM_SET_items,  &av);   }   av.intvalue = ptr -> count;   retval = AsnWrite(aip, ITEM_SET_count,  &av);   if (! AsnCloseStruct(aip, atp, (Pointer)ptr)) {      goto erret;   }   retval = TRUE;erret:   AsnUnlinkType(orig);       /* unlink local tree */   return retval;}/****************************************************    FullTimeNew()***************************************************/NLM_EXTERN FullTimePtr LIBCALLFullTimeNew(void){   FullTimePtr ptr = MemNew((size_t) sizeof(FullTime));   return ptr;}/****************************************************    FullTimeFree()***************************************************/NLM_EXTERN FullTimePtr LIBCALLFullTimeFree(FullTimePtr ptr){   if(ptr == NULL) {      return NULL;   }   return MemFree(ptr);}/****************************************************    FullTimeAsnRead()***************************************************/NLM_EXTERN FullTimePtr LIBCALLFullTimeAsnRead(AsnIoPtr aip, AsnTypePtr orig){   DataVal av;   AsnTypePtr atp;   Boolean isError = FALSE;   AsnReadFunc func;   FullTimePtr ptr;   if (! loaded)   {      if (! twebenvAsnLoad()) {         return NULL;      }   }   if (aip == NULL) {      return NULL;   }   if (orig == NULL) {         /* FullTime ::= (self contained) */      atp = AsnReadId(aip, amp, FULL_TIME);   } else {      atp = AsnLinkType(orig, FULL_TIME);   }   /* link in local tree */   if (atp == NULL) {      return NULL;   }   ptr = FullTimeNew();   if (ptr == NULL) {      goto erret;   }   if (AsnReadVal(aip, atp, &av) <= 0) { /* read the start struct */      goto erret;   }   atp = AsnReadId(aip,amp, atp);   func = NULL;   if (atp == FULL_TIME_year) {      if ( AsnReadVal(aip, atp, &av) <= 0) {         goto erret;      }      ptr -> year = av.intvalue;      atp = AsnReadId(aip,amp, atp);   }   if (atp == FULL_TIME_month) {      if ( AsnReadVal(aip, atp, &av) <= 0) {         goto erret;      }      ptr -> month = av.intvalue;      atp = AsnReadId(aip,amp, atp);   }   if (atp == FULL_TIME_day) {      if ( AsnReadVal(aip, atp, &av) <= 0) {         goto erret;      } 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -