ltkc_array.c
Go to the documentation of this file.
00001 
00002 /*
00003  ***************************************************************************
00004  *  Copyright 2007,2008 Impinj, Inc.
00005  *
00006  *  Licensed under the Apache License, Version 2.0 (the "License");
00007  *  you may not use this file except in compliance with the License.
00008  *  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  *  Unless required by applicable law or agreed to in writing, software
00013  *  distributed under the License is distributed on an "AS IS" BASIS,
00014  *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  *  See the License for the specific language governing permissions and
00016  *  limitations under the License.
00017  *
00018  ***************************************************************************
00019  */
00020 
00021 
00022 #include "ltkc_platform.h"
00023 #include "ltkc_base.h"
00024 
00025 
00026 
00027 
00028 llrp_u8v_t
00029 LLRP_u8v_construct (
00030   llrp_u16_t                    nValue)
00031 {
00032     unsigned int                nByte;
00033     llrp_u8v_t                  Value;
00034 
00035     nByte = nValue * sizeof Value.pValue[0];
00036 
00037     Value.pValue = malloc(nByte);
00038     if(NULL != Value.pValue)
00039     {
00040         Value.nValue = nValue;
00041     }
00042     else
00043     {
00044         Value.nValue = 0;
00045     }
00046 
00047     return Value;
00048 }
00049 
00050 void
00051 LLRP_u8v_clear (
00052   llrp_u8v_t *                  pDst)
00053 {
00054     if(NULL != pDst->pValue)
00055     {
00056         free(pDst->pValue);
00057     }
00058     pDst->nValue = 0;
00059     pDst->pValue = NULL;
00060 }
00061 
00062 void
00063 LLRP_u8v_set (
00064   llrp_u8v_t *                  pDst,
00065   llrp_u8v_t                    Value)
00066 {
00067     LLRP_u8v_clear(pDst);
00068     *pDst = Value;
00069 }
00070 
00071 llrp_u8v_t
00072 LLRP_u8v_copy (
00073   llrp_u8v_t                    Value)
00074 {
00075     unsigned int                nByte;
00076     llrp_u8v_t                  Ret;
00077 
00078     nByte = Value.nValue * sizeof Value.pValue[0];
00079 
00080     Ret.pValue = malloc(nByte);
00081     if(NULL != Ret.pValue)
00082     {
00083         Ret.nValue = Value.nValue;
00084         memcpy(Ret.pValue, Value.pValue, nByte);
00085     }
00086     else
00087     {
00088         Ret.nValue = 0;
00089     }
00090 
00091     return Ret;
00092 }
00093 
00094 llrp_s8v_t
00095 LLRP_s8v_construct (
00096   llrp_u16_t                    nValue)
00097 {
00098     unsigned int                nByte;
00099     llrp_s8v_t                  Value;
00100 
00101     nByte = nValue * sizeof Value.pValue[0];
00102 
00103     Value.pValue = malloc(nByte);
00104     if(NULL != Value.pValue)
00105     {
00106         Value.nValue = nValue;
00107     }
00108     else
00109     {
00110         Value.nValue = 0;
00111     }
00112 
00113     return Value;
00114 }
00115 
00116 void
00117 LLRP_s8v_clear (
00118   llrp_s8v_t *                  pDst)
00119 {
00120     if(NULL != pDst->pValue)
00121     {
00122         free(pDst->pValue);
00123     }
00124     pDst->nValue = 0;
00125     pDst->pValue = NULL;
00126 }
00127 
00128 void
00129 LLRP_s8v_set (
00130   llrp_s8v_t *                  pDst,
00131   llrp_s8v_t                    Value)
00132 {
00133     LLRP_s8v_clear(pDst);
00134     *pDst = Value;
00135 }
00136 
00137 llrp_s8v_t
00138 LLRP_s8v_copy (
00139   llrp_s8v_t                    Value)
00140 {
00141     unsigned int                nByte;
00142     llrp_s8v_t                  Ret;
00143 
00144     nByte = Value.nValue * sizeof Value.pValue[0];
00145 
00146     Ret.pValue = malloc(nByte);
00147     if(NULL != Ret.pValue)
00148     {
00149         Ret.nValue = Value.nValue;
00150         memcpy(Ret.pValue, Value.pValue, nByte);
00151     }
00152     else
00153     {
00154         Ret.nValue = 0;
00155     }
00156 
00157     return Ret;
00158 }
00159 
00160 llrp_u16v_t
00161 LLRP_u16v_construct (
00162   llrp_u16_t                    nValue)
00163 {
00164     unsigned int                nByte;
00165     llrp_u16v_t                 Value;
00166 
00167     nByte = nValue * sizeof Value.pValue[0];
00168 
00169     Value.pValue = malloc(nByte);
00170     if(NULL != Value.pValue)
00171     {
00172         Value.nValue = nValue;
00173     }
00174     else
00175     {
00176         Value.nValue = 0;
00177     }
00178 
00179     return Value;
00180 }
00181 
00182 void
00183 LLRP_u16v_clear (
00184   llrp_u16v_t *                 pDst)
00185 {
00186     if(NULL != pDst->pValue)
00187     {
00188         free(pDst->pValue);
00189     }
00190     pDst->nValue = 0;
00191     pDst->pValue = NULL;
00192 }
00193 
00194 void
00195 LLRP_u16v_set (
00196   llrp_u16v_t *                 pDst,
00197   llrp_u16v_t                   Value)
00198 {
00199     LLRP_u16v_clear(pDst);
00200     *pDst = Value;
00201 }
00202 
00203 llrp_u16v_t
00204 LLRP_u16v_copy (
00205   llrp_u16v_t                   Value)
00206 {
00207     unsigned int                nByte;
00208     llrp_u16v_t                 Ret;
00209 
00210     nByte = Value.nValue * sizeof Value.pValue[0];
00211 
00212     Ret.pValue = malloc(nByte);
00213     if(NULL != Ret.pValue)
00214     {
00215         Ret.nValue = Value.nValue;
00216         memcpy(Ret.pValue, Value.pValue, nByte);
00217     }
00218     else
00219     {
00220         Ret.nValue = 0;
00221     }
00222 
00223     return Ret;
00224 }
00225 
00226 llrp_s16v_t
00227 LLRP_s16v_construct (
00228   llrp_u16_t                    nValue)
00229 {
00230     unsigned int                nByte;
00231     llrp_s16v_t                 Value;
00232 
00233     nByte = nValue * sizeof Value.pValue[0];
00234 
00235     Value.pValue = malloc(nByte);
00236     if(NULL != Value.pValue)
00237     {
00238         Value.nValue = nValue;
00239     }
00240     else
00241     {
00242         Value.nValue = 0;
00243     }
00244 
00245     return Value;
00246 }
00247 
00248 void
00249 LLRP_s16v_clear (
00250   llrp_s16v_t *                 pDst)
00251 {
00252     if(NULL != pDst->pValue)
00253     {
00254         free(pDst->pValue);
00255     }
00256     pDst->nValue = 0;
00257     pDst->pValue = NULL;
00258 }
00259 
00260 void
00261 LLRP_s16v_set (
00262   llrp_s16v_t *                 pDst,
00263   llrp_s16v_t                   Value)
00264 {
00265     LLRP_s16v_clear(pDst);
00266     *pDst = Value;
00267 }
00268 
00269 llrp_s16v_t
00270 LLRP_s16v_copy (
00271   llrp_s16v_t                   Value)
00272 {
00273     unsigned int                nByte;
00274     llrp_s16v_t                 Ret;
00275 
00276     nByte = Value.nValue * sizeof Value.pValue[0];
00277 
00278     Ret.pValue = malloc(nByte);
00279     if(NULL != Ret.pValue)
00280     {
00281         Ret.nValue = Value.nValue;
00282         memcpy(Ret.pValue, Value.pValue, nByte);
00283     }
00284     else
00285     {
00286         Ret.nValue = 0;
00287     }
00288 
00289     return Ret;
00290 }
00291 
00292 llrp_u32v_t
00293 LLRP_u32v_construct (
00294   llrp_u16_t                    nValue)
00295 {
00296     unsigned int                nByte;
00297     llrp_u32v_t                 Value;
00298 
00299     nByte = nValue * sizeof Value.pValue[0];
00300 
00301     Value.pValue = malloc(nByte);
00302     if(NULL != Value.pValue)
00303     {
00304         Value.nValue = nValue;
00305     }
00306     else
00307     {
00308         Value.nValue = 0;
00309     }
00310 
00311     return Value;
00312 }
00313 
00314 void
00315 LLRP_u32v_clear (
00316   llrp_u32v_t *                 pDst)
00317 {
00318     if(NULL != pDst->pValue)
00319     {
00320         free(pDst->pValue);
00321     }
00322     pDst->nValue = 0;
00323     pDst->pValue = NULL;
00324 }
00325 
00326 void
00327 LLRP_u32v_set (
00328   llrp_u32v_t *                 pDst,
00329   llrp_u32v_t                   Value)
00330 {
00331     LLRP_u32v_clear(pDst);
00332     *pDst = Value;
00333 }
00334 
00335 llrp_u32v_t
00336 LLRP_u32v_copy (
00337   llrp_u32v_t                   Value)
00338 {
00339     unsigned int                nByte;
00340     llrp_u32v_t                 Ret;
00341 
00342     nByte = Value.nValue * sizeof Value.pValue[0];
00343 
00344     Ret.pValue = malloc(nByte);
00345     if(NULL != Ret.pValue)
00346     {
00347         Ret.nValue = Value.nValue;
00348         memcpy(Ret.pValue, Value.pValue, nByte);
00349     }
00350     else
00351     {
00352         Ret.nValue = 0;
00353     }
00354 
00355     return Ret;
00356 }
00357 
00358 llrp_s32v_t
00359 LLRP_s32v_construct (
00360   llrp_u16_t                    nValue)
00361 {
00362     unsigned int                nByte;
00363     llrp_s32v_t                 Value;
00364 
00365     nByte = nValue * sizeof Value.pValue[0];
00366 
00367     Value.pValue = malloc(nByte);
00368     if(NULL != Value.pValue)
00369     {
00370         Value.nValue = nValue;
00371     }
00372     else
00373     {
00374         Value.nValue = 0;
00375     }
00376 
00377     return Value;
00378 }
00379 
00380 void
00381 LLRP_s32v_clear (
00382   llrp_s32v_t *                 pDst)
00383 {
00384     if(NULL != pDst->pValue)
00385     {
00386         free(pDst->pValue);
00387     }
00388     pDst->nValue = 0;
00389     pDst->pValue = NULL;
00390 }
00391 
00392 void
00393 LLRP_s32v_set (
00394   llrp_s32v_t *                 pDst,
00395   llrp_s32v_t                   Value)
00396 {
00397     LLRP_s32v_clear(pDst);
00398     *pDst = Value;
00399 }
00400 
00401 llrp_s32v_t
00402 LLRP_s32v_copy (
00403   llrp_s32v_t                   Value)
00404 {
00405     unsigned int                nByte;
00406     llrp_s32v_t                 Ret;
00407 
00408     nByte = Value.nValue * sizeof Value.pValue[0];
00409 
00410     Ret.pValue = malloc(nByte);
00411     if(NULL != Ret.pValue)
00412     {
00413         Ret.nValue = Value.nValue;
00414         memcpy(Ret.pValue, Value.pValue, nByte);
00415     }
00416     else
00417     {
00418         Ret.nValue = 0;
00419     }
00420 
00421     return Ret;
00422 }
00423 
00424 llrp_u64v_t
00425 LLRP_u64v_construct (
00426   llrp_u16_t                    nValue)
00427 {
00428     unsigned int                nByte;
00429     llrp_u64v_t                 Value;
00430 
00431     nByte = nValue * sizeof Value.pValue[0];
00432 
00433     Value.pValue = malloc(nByte);
00434     if(NULL != Value.pValue)
00435     {
00436         Value.nValue = nValue;
00437     }
00438     else
00439     {
00440         Value.nValue = 0;
00441     }
00442 
00443     return Value;
00444 }
00445 
00446 void
00447 LLRP_u64v_clear (
00448   llrp_u64v_t *                 pDst)
00449 {
00450     if(NULL != pDst->pValue)
00451     {
00452         free(pDst->pValue);
00453     }
00454     pDst->nValue = 0;
00455     pDst->pValue = NULL;
00456 }
00457 
00458 void
00459 LLRP_u64v_set (
00460   llrp_u64v_t *                 pDst,
00461   llrp_u64v_t                   Value)
00462 {
00463     LLRP_u64v_clear(pDst);
00464     *pDst = Value;
00465 }
00466 
00467 llrp_u64v_t
00468 LLRP_u64v_copy (
00469   llrp_u64v_t                   Value)
00470 {
00471     unsigned int                nByte;
00472     llrp_u64v_t                 Ret;
00473 
00474     nByte = Value.nValue * sizeof Value.pValue[0];
00475 
00476     Ret.pValue = malloc(nByte);
00477     if(NULL != Ret.pValue)
00478     {
00479         Ret.nValue = Value.nValue;
00480         memcpy(Ret.pValue, Value.pValue, nByte);
00481     }
00482     else
00483     {
00484         Ret.nValue = 0;
00485     }
00486 
00487     return Ret;
00488 }
00489 
00490 llrp_s64v_t
00491 LLRP_s64v_construct (
00492   llrp_u16_t                    nValue)
00493 {
00494     unsigned int                nByte;
00495     llrp_s64v_t                 Value;
00496 
00497     nByte = nValue * sizeof Value.pValue[0];
00498 
00499     Value.pValue = malloc(nByte);
00500     if(NULL != Value.pValue)
00501     {
00502         Value.nValue = nValue;
00503     }
00504     else
00505     {
00506         Value.nValue = 0;
00507     }
00508 
00509     return Value;
00510 }
00511 
00512 void
00513 LLRP_s64v_clear (
00514   llrp_s64v_t *                 pDst)
00515 {
00516     if(NULL != pDst->pValue)
00517     {
00518         free(pDst->pValue);
00519     }
00520     pDst->nValue = 0;
00521     pDst->pValue = NULL;
00522 }
00523 
00524 void
00525 LLRP_s64v_set (
00526   llrp_s64v_t *                 pDst,
00527   llrp_s64v_t                   Value)
00528 {
00529     LLRP_s64v_clear(pDst);
00530     *pDst = Value;
00531 }
00532 
00533 llrp_s64v_t
00534 LLRP_s64v_copy (
00535   llrp_s64v_t                   Value)
00536 {
00537     unsigned int                nByte;
00538     llrp_s64v_t                 Ret;
00539 
00540     nByte = Value.nValue * sizeof Value.pValue[0];
00541 
00542     Ret.pValue = malloc(nByte);
00543     if(NULL != Ret.pValue)
00544     {
00545         Ret.nValue = Value.nValue;
00546         memcpy(Ret.pValue, Value.pValue, nByte);
00547     }
00548     else
00549     {
00550         Ret.nValue = 0;
00551     }
00552 
00553     return Ret;
00554 }
00555 
00556 llrp_u1v_t
00557 LLRP_u1v_construct (
00558   llrp_u16_t                    nBit)
00559 {
00560     unsigned int                nByte;
00561     llrp_u1v_t                  Value;
00562 
00563     nByte = (nBit + 7u) / 8u;
00564 
00565     Value.pValue = malloc(nByte);
00566     if(NULL != Value.pValue)
00567     {
00568         Value.nBit = nBit;
00569     }
00570     else
00571     {
00572         Value.nBit = 0;
00573     }
00574 
00575     return Value;
00576 }
00577 
00578 void
00579 LLRP_u1v_clear (
00580   llrp_u1v_t *                  pDst)
00581 {
00582     if(NULL != pDst->pValue)
00583     {
00584         free(pDst->pValue);
00585     }
00586     pDst->nBit = 0;
00587     pDst->pValue = NULL;
00588 }
00589 
00590 void
00591 LLRP_u1v_set (
00592   llrp_u1v_t *                  pDst,
00593   llrp_u1v_t                    Value)
00594 {
00595     LLRP_u1v_clear(pDst);
00596     *pDst = Value;
00597 }
00598 
00599 llrp_u1v_t
00600 LLRP_u1v_copy (
00601   llrp_u1v_t                    Value)
00602 {
00603     unsigned int                nByte;
00604     llrp_u1v_t                  Ret;
00605 
00606     nByte = (Value.nBit + 7u) / 8u;
00607 
00608     Ret.pValue = malloc(nByte);
00609     if(NULL != Ret.pValue)
00610     {
00611         Ret.nBit = Value.nBit;
00612         memcpy(Ret.pValue, Value.pValue, nByte);
00613     }
00614     else
00615     {
00616         Ret.nBit = 0;
00617     }
00618 
00619     return Ret;
00620 }
00621 
00622 llrp_utf8v_t
00623 LLRP_utf8v_construct (
00624   llrp_u16_t                    nValue)
00625 {
00626     unsigned int                nByte;
00627     llrp_utf8v_t                Value;
00628 
00629     nByte = nValue * sizeof Value.pValue[0];
00630 
00631     Value.pValue = malloc(nByte);
00632     if(NULL != Value.pValue)
00633     {
00634         Value.nValue = nValue;
00635     }
00636     else
00637     {
00638         Value.nValue = 0;
00639     }
00640 
00641     return Value;
00642 }
00643 
00644 void
00645 LLRP_utf8v_clear (
00646   llrp_utf8v_t *                pDst)
00647 {
00648     if(NULL != pDst->pValue)
00649     {
00650         free(pDst->pValue);
00651     }
00652     pDst->nValue = 0;
00653     pDst->pValue = NULL;
00654 }
00655 
00656 void
00657 LLRP_utf8v_set (
00658   llrp_utf8v_t *                pDst,
00659   llrp_utf8v_t                  Value)
00660 {
00661     LLRP_utf8v_clear(pDst);
00662     *pDst = Value;
00663 }
00664 
00665 llrp_utf8v_t
00666 LLRP_utf8v_copy (
00667   llrp_utf8v_t                  Value)
00668 {
00669     unsigned int                nByte;
00670     llrp_utf8v_t                Ret;
00671 
00672     nByte = Value.nValue * sizeof Value.pValue[0];
00673 
00674     Ret.pValue = malloc(nByte);
00675     if(NULL != Ret.pValue)
00676     {
00677         Ret.nValue = Value.nValue;
00678         memcpy(Ret.pValue, Value.pValue, nByte);
00679     }
00680     else
00681     {
00682         Ret.nValue = 0;
00683     }
00684 
00685     return Ret;
00686 }
00687 
00688 llrp_bytesToEnd_t
00689 LLRP_bytesToEnd_construct (
00690   llrp_u16_t                    nValue)
00691 {
00692     unsigned int                nByte;
00693     llrp_bytesToEnd_t           Value;
00694 
00695     nByte = nValue * sizeof Value.pValue[0];
00696 
00697     Value.pValue = malloc(nByte);
00698     if(NULL != Value.pValue)
00699     {
00700         Value.nValue = nValue;
00701     }
00702     else
00703     {
00704         Value.nValue = 0;
00705     }
00706 
00707     return Value;
00708 }
00709 
00710 void
00711 LLRP_bytesToEnd_clear (
00712   llrp_bytesToEnd_t *           pDst)
00713 {
00714     if(NULL != pDst->pValue)
00715     {
00716         free(pDst->pValue);
00717     }
00718     pDst->nValue = 0;
00719     pDst->pValue = NULL;
00720 }
00721 
00722 void
00723 LLRP_bytesToEnd_set (
00724   llrp_bytesToEnd_t *           pDst,
00725   llrp_bytesToEnd_t             Value)
00726 {
00727     LLRP_bytesToEnd_clear(pDst);
00728     *pDst = Value;
00729 }
00730 
00731 llrp_bytesToEnd_t
00732 LLRP_bytesToEnd_copy (
00733   llrp_bytesToEnd_t             Value)
00734 {
00735     unsigned int                nByte;
00736     llrp_bytesToEnd_t           Ret;
00737 
00738     nByte = Value.nValue * sizeof Value.pValue[0];
00739 
00740     Ret.pValue = malloc(nByte);
00741     if(NULL != Ret.pValue)
00742     {
00743         Ret.nValue = Value.nValue;
00744         memcpy(Ret.pValue, Value.pValue, nByte);
00745     }
00746     else
00747     {
00748         Ret.nValue = 0;
00749     }
00750 
00751     return Ret;
00752 }


thingmagic_rfid
Author(s): Brian Bingham
autogenerated on Thu May 16 2019 03:01:23