|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 22528 (0x5800)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package Xlbmt_Transport_Defs, seg_004f16
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
--/ if Cdf_Hpux then
--// with System;
--// with Unchecked_Conversion;
--// with Unix_Base_Types;
--/ elsif TeleGen2 and then Unix then
--// with Unix_Implementation_Types; -- Unix String Types
--// use Unix_Implementation_Types;
--//
--// with System;
--// with Unchecked_Conversion;
--/ end if;
with Xlbt_Arithmetic;
use Xlbt_Arithmetic;
with Xlbmt_Network_Types;
use Xlbmt_Network_Types;
--/ if Record_Rep_Clauses then
--// with Xlbmt_Parameters;
--// use Xlbmt_Parameters;
--/ end if;
package Xlbmt_Transport_Defs is
------------------------------------------------------------------------------
-- X Library Machine Network Transport Types
--
-- Xlbmt_Transport_Defs - Machine/Compiler dependent network interface types.
------------------------------------------------------------------------------
-- Copyright 1991 - 1990 by Rational, Santa Clara, California.
--
-- All Rights Reserved.
--
-- Permission to use, copy, modify, and distribute this software and its
-- documentation for any purpose and without fee is hereby granted,
-- provided that the above copyright notice(s) appear in all copies and that
-- both that copyright notice(s) and this permission notice appear in
-- supporting documentation, and that the name of Rational not be used in
-- advertising or publicity pertaining to distribution of the software
-- without specific, written prior permission.
--
-- Rational disclaims all warranties with regard to this software, including
-- all implied warranties of merchantability and fitness, in no event shall
-- Rational be liable for any special, indirect or consequential damages or
-- any damages whatsoever resulting from loss of use, data or profits, whether
-- in an action of contract, negligence or other tortious action, arising out
-- of or in connection with the use or performance of this software.
------------------------------------------------------------------------------
--\x0c
------------------------------------------------------------------------------
-- Unix Data Structures
------------------------------------------------------------------------------
--/ if Cdf_Hpux then
--// subtype C_String_Pointer is Unix_Base_Types.Char_Ptr;
--/ end if;
--/ if Unix then
--//
--// ------------------------------------------------------------------------------
--// -- FD_SET - file descriptor set
--// ------------------------------------------------------------------------------
--//
--// subtype Fd_Set_Rec is S_Long_Array (0 .. 7);
--//
--// procedure Fd_Clr (Fds : out Fd_Set_Rec);
--// ----Clear the set.
--// procedure Fd_Set (Fds : in out Fd_Set_Rec; Fd : Connection_Id);
--// ----Set a bit in the set.
--//
--// ------------------------------------------------------------------------------
--// -- hostent - Network database library entries
--// --
--// -- The Socaddr types are mutilated so that Ada can easily reference the
--// -- first address of what is actually a C array of addresses.
--// ------------------------------------------------------------------------------
--//
--// type Socaddr_Element is
--// record
--// A, B : Host_Id;
--// end record;
--//
--/ if Record_Rep_Clauses then
--//
--// for Socaddr_Element use
--// record
--// A at 0 * X_Word range X_Word0a .. X_Word0b;
--// B at 1 * X_Word range X_Word0a .. X_Word0b;
--// end record;
--//
--/ end if;
--//
--// type Socaddr_Array is access Socaddr_Element;
--// type Socaddr_Array_Pointer is access Socaddr_Array;
--//
--// type Hostent is
--// record
--// H_Name : C_String_Pointer; -- Official name of host
--// H_Aliases : -- alias list
--// C_String_Pointer;
--// H_Addrtype : S_Long; -- host address type
--// H_Length : S_Long; -- length of address
--// H_Addr_List : -- list of addr's from name server
--// Socaddr_Array_Pointer;
--// end record;
--//
--/ if Record_Rep_Clauses then
--//
--// for Hostent use
--// record
--// H_Name at 0 * X_Word range X_Word0a .. X_Word0b;
--// H_Aliases at 1 * X_Word range X_Word0a .. X_Word0b;
--// H_Addrtype at 2 * X_Word range X_Word0a .. X_Word0b;
--// H_Length at 3 * X_Word range X_Word0a .. X_Word0b;
--// H_Addr_List at 4 * X_Word range X_Word0a .. X_Word0b;
--// end record;
--//
--/ end if;
--/ if Length_Clauses then
--// for Hostent'Size use 5 * 32;
--/ elsif Pack then
--// pragma Pack (Hostent);
--/ end if;
--//
--// type Hostent_Pointer is access Hostent;
--//
--// ------------------------------------------------------------------------------
--// -- in_addr - Internet Address
--// ------------------------------------------------------------------------------
--//
--// type In_Addr is
--// record
--// S_Addr : Host_Id;
--// end record;
--//
--// ------------------------------------------------------------------------------
--// -- sockaddr_in - TCP/IP Socket Address
--// ------------------------------------------------------------------------------
--//
--// type Sockaddr_In is
--// record
--// Sin_Family : S_Short;
--// Sin_Port : U_Short;
--// Sin_Addr : In_Addr;
--// Sin_Zero : Socaddr_Element;
--// end record;
--//
--/ if Record_Rep_Clauses then
--//
--// for Sockaddr_In use
--// record
--// Sin_Family at 0 * X_Word range X_Half0a .. X_Half0b;
--// Sin_Port at 0 * X_Word range X_Half1a .. X_Half1b;
--// Sin_Addr at 1 * X_Word range X_Word0a .. X_Word0b;
--// Sin_Zero at 2 * X_Word range 0 .. 63;
--// end record;
--//
--/ end if;
--//
--/ if Length_Clauses then
--// for Sockaddr_In'Size use 16 + 16 + 32 + 8 * 8;
--/ elsif Pack then
--// pragma Pack (Sockaddr_In);
--/ end if;
--//
--// ----Socket Address Families
--//
--// Af_Unspec : constant := 0; -- Unspecified
--// Af_Unix : constant := 1; -- local to host (pipes, portals)
--// Af_Inet : constant := 2; -- internetwork: UDP, TCP, etc.
--//
--// ----Socket Protocol Families
--//
--// Pf_Unspec : constant := 0; -- Unspecified
--// Pf_Unix : constant := 1; -- local to host (pipes, portals)
--// Pf_Inet : constant := 2; -- internetwork: UDP, TCP, etc.
--//
--// ----Socket Types
--//
--// Sock_Stream : constant := 1; -- Stream socket
--// Sock_Dgram : constant := 2; -- Datagram socket
--// Sock_Raw : constant := 3; -- Raw-protocol interface
--// Sock_Rdm : constant := 4; -- Reliably-delivered message
--// Sock_Seq_Package : constant := 5; -- Sequenced packet stream
--//
--// ----Socket Protocol Types
--//
--// Protocol_Ip : constant := 0; -- TCP/IP protocols
--//
--// ------------------------------------------------------------------------------
--// -- timeval - Timer control value
--// ------------------------------------------------------------------------------
--//
--// type Timeval is
--// record
--// Tv_Sec : S_Long;
--// Tv_Usec : S_Long;
--// end record;
--//
--/ if Record_Rep_Clauses then
--//
--// for Timeval use
--// record
--// Tv_Sec at 0 * X_Word range X_Word0a .. X_Word0b;
--// Tv_Usec at 1 * X_Word range X_Word0a .. X_Word0b;
--// end record;
--//
--/ end if;
--//
--// ------------------------------------------------------------------------------
--// -- System.Address - not everybody uses NULL/0 for Ada null values.
--// ------------------------------------------------------------------------------
--//
--// function To_Address is
--// new Unchecked_Conversion (S_Long, System.Address);
--//
--// None_System_Address : System.Address := To_Address (0);
--//
--/ end if; -- Unix
--\x0c
------------------------------------------------------------------------------
-- Unix Function Signatures
------------------------------------------------------------------------------
--/ if Unix then
--//
--// function Close (Fd : Connection_Id) return S_Long;
--// pragma Interface (C, Close);
--/ if Cdf_Hpux then
--// pragma Import_Function (Internal => Close,
--// External => "__close",
--// Parameter_Types => (Connection_Id),
--// Mechanism => (Value),
--// Result_Type => S_Long);
--/ elsif TeleGen2 then
--// pragma Linkname (Close, "close");
--/ else
--// pragma Linkname (Close, "close");
--/ end if;
--// ------------------------------------------------------------------------------
--// -- Fd - Specifies the file-descriptor to close
--// --
--// -- Called to close a socket. A socket is a file-descriptor.
--// ------------------------------------------------------------------------------
--//
--// function Connect (S : Connection_Id;
--// Name : System.Address;
--// Namelen : S_Long) return S_Long;
--// pragma Interface (C, Connect);
--/ if Cdf_Hpux then
--// pragma Import_Function
--// (Internal => Connect,
--// External => "_connect",
--// Parameter_Types => (Connection_Id, System.Address, S_Long),
--// Mechanism => (Value, Value, Value),
--// Result_Type => S_Long);
--/ elsif TeleGen2 then
--//pragma Linkname (Connect, "connect");
--/ else
--//pragma Linkname (Connect, "connect");
--/ end if;
--// ------------------------------------------------------------------------------
--// -- S - Specifies the socket; obtained from socket()
--// -- Name - Specifies the sockaddr structure to use
--// -- Namelen - Specifies the length of the sockaddr in 8-bit bytes
--// --
--// -- Called to make a connection to a foreign site using a sockaddr.
--// -- Returns 0 if it works and -1 if it fails. True error code is in
--// -- global errno.
--// ------------------------------------------------------------------------------
--//
--// function Fcntl (Fd : Connection_Id;
--// Cmd : S_Long;
--// Arg : S_Long) return S_Long;
--// pragma Interface (C, Fcntl);
--/ if Cdf_Hpux then
--// pragma Import_Function (Internal => Fcntl,
--// External => "_fcntl",
--// Parameter_Types => (Connection_Id, S_Long, S_Long),
--// Mechanism => (Value, Value, Value),
--// Result_Type => S_Long);
--/ elsif TeleGen2 then
--//pragma Linkname (Fcntl, "fcntl");
--/ else
--//pragma Linkname (Fcntl, "fcntl");
--/ end if;
--// ------------------------------------------------------------------------------
--// -- Fd - Specifies the file descriptor to affect
--// -- Cmd - Specifies the operation to perform
--// -- Arg - Specifies additonal arguments
--// --
--// -- Called to perform a file-control operation of some sort.
--// ------------------------------------------------------------------------------
--//
--// ----flags for F_GETFL, F_SETFL-- needed by <sys/file.h>
--//
--// Fndelay : constant := 8#000004#; -- non-blocking I/O (4.2 style)
--// Fappend : constant := 8#000010#; -- append on each write
--// Fasync : constant := 8#000100#; -- signal pgrp when data ready
--// Fcreat : constant := 8#001000#; -- create if nonexistent
--// Ftrunc : constant := 8#002000#; -- truncate to zero length
--// Fexcl : constant := 8#004000#; -- error if already created
--// Fnbio : constant := 8#010000#; -- non-blocking I/O (S5-style)
--// Fsync : constant := 8#020000#; -- synchronous writes
--//
--// -- fcntl(2) requests
--//
--// F_Dupfd : constant := 0; -- Duplicate fildes
--// F_Getfd : constant := 1; -- Get fildes flags
--// F_Setfd : constant := 2; -- Set fildes flags
--// F_Getfl : constant := 3; -- Get file flags
--// F_Setfl : constant := 4; -- Set file flags
--// F_Getown : constant := 5; -- Get owner
--// F_Setown : constant := 6; -- Set owner
--// F_Getlk : constant := 7; -- Get record-locking information
--// F_Setlk : constant := 8; -- Set or Clear a record-lock (Non-Blocking)
--// F_Setlkw : constant := 9; -- Set or Clear a record-lock (Blocking)
--//
--//
--// function Get_Host_By_Name (Name : System.Address) return Hostent_Pointer;
--// pragma Interface (C, Get_Host_By_Name);
--/ if Cdf_Hpux then
--// pragma Import_Function (Internal => Get_Host_By_Name,
--// External => "_gethostbyname",
--// Parameter_Types => (System.Address),
--// Mechanism => (Value),
--// Result_Type => Hostent_Pointer);
--/ elsif TeleGen2 then
--//pragma Linkname (Get_Host_By_Name, "gethostbyname");
--/ else
--//pragma Linkname (Get_Host_By_Name, "gethostbyname");
--/ end if;
--// ------------------------------------------------------------------------------
--// -- Name -- Address of the first character of a null-terminated host name
--// --
--// -- Returns a pointer to a statically allocated hostent structure. Value is
--// -- null if the host name is unknown. Copy the contents of the shared structure
--// -- before making another call as it will be overwritten by the second call.
--// ------------------------------------------------------------------------------
--//
--// function Inet_Addr (Addr : System.Address) return Host_Id;
--// pragma Interface (C, Inet_Addr);
--/ if Cdf_Hpux then
--// pragma Import_Function (Internal => Inet_Addr,
--// External => "_inet_addr",
--// Parameter_Types => (System.Address),
--// Mechanism => (Value),
--// Result_Type => Host_Id);
--/ elsif TeleGen2 then
--//pragma Linkname (Inet_Addr, "inet_addr");
--/ else
--//pragma Linkname (Inet_Addr, "inet_addr");
--/ end if;
--// ------------------------------------------------------------------------------
--// -- Addr -- Address of the first character of a null-terminated numeric addr.
--// --
--// -- Returns a converted INet host address. It reads the string and computes a
--// -- 1-word numeric value.
--// --
--// -- Addr is one of these forms: "123.123456", "123.123.12345", "123.123.123.123"
--// ------------------------------------------------------------------------------
--//
--// function Read (Fd : Connection_Id;
--// Buf : System.Address;
--// Nbytes : S_Long) return S_Long;
--// pragma Interface (C, Read);
--/ if Cdf_Hpux then
--// pragma Import_Function
--// (Internal => Read,
--// External => "_read",
--// Parameter_Types => (Connection_Id, System.Address, S_Long),
--// Mechanism => (Value, Value, Value),
--// Result_Type => S_Long);
--/ elsif TeleGen2 then
--//pragma Linkname (Read, "read");
--/ else
--//pragma Linkname (Read, "read");
--/ end if;
--// ------------------------------------------------------------------------------
--// -- Fd - Specifies the file-descriptor (or socket) to read
--// -- Buf - Specfies the address of a byte to overwrite
--// -- Nbytes - Specfies the number of bytes in the Buf
--// --
--// -- Called to read some bytes from a socket. Returns the number of bytes
--// -- read. Return value of 0 indicates end-of-file. Return value of -1
--// -- indicates some error has occured. Other values indicate the number of
--// -- bytes read.
--// ------------------------------------------------------------------------------
--//
--// function Write (Fd : Connection_Id;
--// Buf : System.Address;
--// Nbytes : S_Long) return S_Long;
--// pragma Interface (C, Write);
--/ if Cdf_Hpux then
--// pragma Import_Function
--// (Internal => Write,
--// External => "_write",
--// Parameter_Types => (Connection_Id, System.Address, S_Long),
--// Mechanism => (Value, Value, Value),
--// Result_Type => S_Long);
--/ elsif TeleGen2 then
--//pragma Linkname (Write, "write");
--/ else
--//pragma Linkname (Write, "write");
--/ end if;
--// ------------------------------------------------------------------------------
--// -- Fd - Specifies the file-descriptor (or socket) to write
--// -- Buf - Specfies the address of a byte to copy
--// -- Nbytes - Specfies the number of bytes in the Buf
--// --
--// -- Called to write some bytes to a socket. Returns the number of bytes
--// -- written. Return value of -1 indicates some error has occured. Other
--// -- values indicate the number of bytes written
--// ------------------------------------------------------------------------------
--//
--// function Unix_Select (Width : S_Long;
--// Read_Fds : System.Address;
--// Write_Fds : System.Address;
--// Except_Fds : System.Address;
--// Timeout : System.Address) return S_Long;
--// pragma Interface (C, Unix_Select);
--/ if Cdf_Hpux then
--// pragma Import_Function
--// (Internal => Unix_Select,
--// External => "_select",
--// Parameter_Types => (S_Long, System.Address, System.Address,
--// System.Address, System.Address),
--// Mechanism => (Value, Value, Value, Value, Value),
--// Result_Type => S_Long);
--/ elsif TeleGen2 then
--//pragma Linkname (Unix_Select, "select");
--/ else
--//pragma Linkname (Unix_Select, "select");
--/ end if;
--// ------------------------------------------------------------------------------
--// -- Width - Specifies 0..N, bits 0..N of @_Fds are valid
--// -- Read_Fds - Specifies which fd's to examine (0..Width) for read
--// -- Write_Fds - Specifies which fd's to examine (0..Width) for write
--// -- Except_Fds - Specifies which fd's to examine (0..Width) for exceptions
--// -- Timeout - Specifies NULL for no timeout and specifes the 'Address
--// -- of a timeval record to specify a timeout value
--// --
--// -- Called to wait until one or more fd's has some type of I/O activity ready
--// -- to go.
--// ------------------------------------------------------------------------------
--//
--// function Socket (Domain : S_Long;
--// Typ : S_Long;
--// Protocol : S_Long) return Connection_Id;
--// pragma Interface (C, Socket);
--/ if Cdf_Hpux then
--// pragma Import_Function (Internal => Socket,
--// External => "_socket",
--// Parameter_Types => (S_Long, S_Long, S_Long),
--// Mechanism => (Value, Value, Value),
--// Result_Type => Connection_Id);
--/ elsif TeleGen2 then
--//pragma Linkname (Socket, "socket");
--/ else
--//pragma Linkname (Socket, "socket");
--/ end if;
--// ------------------------------------------------------------------------------
--// -- Domain - Specifies a communications domain, eg. PF_INET
--// -- Typ - Specifies a type of socket, eg. SOCK_STREAM
--// -- Protocol- Specifies the communications protocol to use
--// --
--// -- Called to create a Unix socket for use in communications.
--// ------------------------------------------------------------------------------
--//
--/ end if; -- Unix
--\x0c
end Xlbmt_Transport_Defs;
nblk1=15
nid=0
hdr6=2a
[0x00] rec0=23 rec1=00 rec2=01 rec3=022
[0x01] rec0=0e rec1=00 rec2=02 rec3=088
[0x02] rec0=1b rec1=00 rec2=03 rec3=04c
[0x03] rec0=1b rec1=00 rec2=04 rec3=05c
[0x04] rec0=1a rec1=00 rec2=05 rec3=060
[0x05] rec0=1b rec1=00 rec2=06 rec3=010
[0x06] rec0=1b rec1=00 rec2=07 rec3=05a
[0x07] rec0=1b rec1=00 rec2=08 rec3=014
[0x08] rec0=19 rec1=00 rec2=09 rec3=084
[0x09] rec0=16 rec1=00 rec2=0a rec3=090
[0x0a] rec0=17 rec1=00 rec2=0b rec3=010
[0x0b] rec0=14 rec1=00 rec2=0c rec3=060
[0x0c] rec0=12 rec1=00 rec2=0d rec3=042
[0x0d] rec0=13 rec1=00 rec2=0e rec3=03e
[0x0e] rec0=13 rec1=00 rec2=0f rec3=00c
[0x0f] rec0=15 rec1=00 rec2=10 rec3=00a
[0x10] rec0=15 rec1=00 rec2=11 rec3=02e
[0x11] rec0=15 rec1=00 rec2=12 rec3=028
[0x12] rec0=14 rec1=00 rec2=13 rec3=04a
[0x13] rec0=12 rec1=00 rec2=14 rec3=042
[0x14] rec0=14 rec1=00 rec2=15 rec3=000
tail 0x2150095688197808f9a06 0x42a00088462063203