This is pcno.c in view mode; [Download] [Up]
/*
* PCN System -- PCN Object file access routines
* Author: Steve Tuecke
* Argonne National Laboratory
*
* Please see the DISCLAIMER file in the top level directory of the
* distribution regarding the provisions under which this software
* is distributed.
*
* pcno.c
*
* This file contains the C procedures needed by the pcno routines.
*/
#include "pcn_types.h"
#include "pcn_structs.h"
#include "pcno.h"
/*
* _p_pcno_etoi()
*
* Convert external format integer (big endian) to an internal format
* integer (a PCN integer). The external format integer starts
* at the 'byte_n' byte in the 'ebuf' character array.
*
* Set 'i' to be the internal format integer.
*/
_p_pcno_etoi(ebuf, byte_n, i)
char_t *ebuf;
int_t *byte_n;
int_t *i;
{
char_t *P = ebuf + *byte_n;
*i = ((int_t) ( (((u_int_t) *((unsigned char *) (P))) << 24)
| (((u_int_t) *(((unsigned char *) (P)) + 1)) << 16)
| (((u_int_t) *(((unsigned char *) (P)) + 2)) << 8)
| (((u_int_t) *(((unsigned char *) (P)) + 3))) ));
}
/*
* _p_pcno_itoe()
*
* Convert internal format integer (a PCN integer) to an external
* format integer (big endian). The external format integer
* is stored in a character array.
*
* Set 'e' to be the external format integer (character array).
*/
_p_pcno_itoe(i, e)
u_int_t *i;
unsigned char e[PCNO_WORD_SIZE];
{
e[0] = (*i & 0xFF000000) >> 24;
e[1] = (*i & 0x00FF0000) >> 16;
e[2] = (*i & 0x0000FF00) >> 8;
e[3] = (*i & 0x000000FF);
}
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.