示例#1
0
void *initP(void *hnd, c4snet_data_t *spt, c4snet_data_t *skey, int size) {
  char *pt = (char *) C4SNetGetData(spt);
  char *key = (char *) C4SNetGetData(skey);
  char *K = (char *) SCCMallocPtr(size * 7);
  char *D = (char *) SCCMallocPtr(size * 8);
  int i;
  for (i = 0; i < size; i++) {
    Permute( &K[i * 7], key, KeyPermuteMap, 7 );
    Permute( &D[i * 8], pt, InitialPermuteMap, 8 );
  }
  C4SNetOut(hnd, 1, C4SNetCreate(CTYPE_char, 8 * size, &D[0]), C4SNetCreate(CTYPE_char, 7 * size, &K[0]), 0, size);
  C4SNetFree(spt);
  C4SNetFree(skey);
  SCCFreePtr (K);
  SCCFreePtr (D);
  return hnd;
}
示例#2
0
文件: memfun.c 项目: ra-one/snet-rts
void *SNetMemAlloc( size_t size)
{
  void *ptr = NULL;
  if (size && (ptr = SCCMallocPtr(size)) == NULL) {
    SNetMemFailed();
  }
  return ptr;
}
示例#3
0
文件: check_hrc.c 项目: foliern/lpel
static channels_t *ChannelsCreate(lpel_stream_t *in, lpel_stream_t *out, int id)
{
  //channels_t *ch = (channels_t *) malloc( sizeof(channels_t));
  channels_t *ch = (channels_t *) SCCMallocPtr( sizeof(channels_t));
  ch->in = in;
  ch->out = out;
  ch->id = id;
  return ch;
}
示例#4
0
void *finalP(void *hnd, c4snet_data_t *sd, c4snet_data_t *sk, int c, int size) {
  char *D = (char *) C4SNetGetData(sd);
  int i;
  char *E = (char *) SCCMallocPtr(8 * size);
  for (i = 0; i < size; i++)
    Permute( &E[i * 8], &D[i * 8], FinalPermuteMap, 8 );

  //printbyte(E, size);
  C4SNetOut(hnd, 1, C4SNetCreate(CTYPE_char, size, &E[0]), size);
  C4SNetFree(sd);
  C4SNetFree(sk);
  //SCCFreePtr(E);
  return hnd;
}
示例#5
0
void SNetDistribFetchRef(snet_ref_t *ref)
{
  int node = SNetRefNode(ref);
  snet_comm_type_t type = snet_ref_fetch;

  start_write_node(node);
  cpy_mem_to_mpb(node, &type, sizeof(snet_comm_type_t));
  SNetRefSerialise(ref, (void*) node, &PackInt, &PackByte);
  if (remap) {
    cpy_mem_to_mpb(node, &node_location, sizeof(node_location));
  } else {
    lut_addr_t addr = SCCPtr2Addr(SCCMallocPtr(SNetRefAllocSize(ref)));
    cpy_mem_to_mpb(node, &addr, sizeof(lut_addr_t));
  }
  stop_write_node(node);
}
示例#6
0
文件: check_hrc.c 项目: foliern/lpel
static void *Inputter(void *arg)
{
  lpel_stream_desc_t *out = LpelStreamOpen((lpel_stream_t*)arg, 'w'); 
  char *buf;

  printf("\nInputter START\n\n");
  do {
    //buf = fgets( malloc( 120 * sizeof(char) ), 119, stdin  );
   
   buf = fgets( SCCMallocPtr( 120 * sizeof(char) ), 119, stdin  ); 
   printf("\nLPEL STREAM WRITE\n\n");
   LpelStreamWrite( out, buf);
  } while ( 0 != strcmp(buf, "T\n") );

  LpelStreamClose( out, 0);
  printf("\nInputter TERM\n\n");
  return NULL;
}
示例#7
0
static void *SCCMalloc(size_t s)
{
  if (!remap) return SNetMemAlloc(s);

  return SCCMallocPtr(s);
}