Visão Geral da Interface da Biblioteca de Serviços

Os aplicativos de rede que são fornecidos pelo sistema ou desenvolvidos internamente exigem uma interface de programação para a rede, como Transmission Control Protocol / Internet Protocol (TCP/IP).

A interface de programação de nível de transporte oferece aos desenvolvedores de aplicativos um meio de chegar aos protocolos de rede sem precisar do conhecimento da semântica específica do protocolo, o framework que os protocolos são carregados ou a complexidade das interfaces do kernel.

Duas bibliotecas são fornecidas para acessar protocolos conhecidos, como o TCP/IP. Essas bibliotecas são:
  • Interface da Biblioteca de Transporte (TLI)
  • Interface da Biblioteca de Transporte X/OPEN (XTI)
Essas interfaces de biblioteca são fornecidas além das chamadas de sistema de soquetes existentes. Geralmente falando, protocolos bem conhecidos, como o TCP/IP e o Open Systems Interconnection (OSI), são divididos em duas partes:
  • Camada de transporte e abaixo estão no espaço do kernel
  • Camada de sessão e serviços acima estão no espaço do usuário.

O sistema operacional fornece as suites de protocolo TCP/IP baseadas em socket como uma parte do sistema de base. Ele também fornece as chamadas do sistema de soquete e as chamadas da biblioteca de soquete (libc.a) para os aplicativos existentes que foram desenvolvidos usando a interface de programação de aplicativos (API) de soquetes..

A TLI é uma biblioteca usada para portar aplicativos desenvolvidos usando os sistemas operacionais UNIX baseados no AT&T System V.

XTI é uma implementação de biblioteca, conforme especificação de X/OPEN CAE Especificação de X/Open Transport Interface e totalmente conformante para especificação X/OPEN XPG4 Common Application Environment (CAE) , que define um conjunto de serviços de nível de transporte que são independentes de qualquer protocolo específico do fornecedor de transporte ou de seu framework.

O objetivo da XTI é fornecer uma interface de programação universal para as funções da camada de transporte independentemente dos protocolos da camada de transporte, como são implementados o framework dos protocolos da camada de transporte, ou o tipo de sistema operacional UNIX. Por exemplo, um aplicativo que escreve para o XTI não deve ter que saber que o provedor de serviços é escrito usando STREAMS ou sockets. O aplicativo acessa o ponto final de transporte (usando a alça devolvida, fd, da subroutinha t_open ) e solicita e recebe indicações das conhecidas primitivas de serviço. Se desejado ou necessário, os aplicativos podem obter qualquer informação específica do protocolo, através de chamadas para a subroutine t_info .

Tanto o TLI quanto o XTI são implementados usando STREAMS. Esta implementação inclui os seguintes membros:
  • Biblioteca de Transporte- libtli.a
  • Biblioteca de Transporte X/OPEN- libxti.a
  • STREAMS driver-Sends mensagens STREAMS iniciadas a partir da biblioteca XTI ou TLI para o protocolo de rede baseado em sockets (como no caso do TCP/IP) ou para outros drivers STREAMS (como no caso de Netware).

As bibliotecas TLI (libtli.a) e XTI (libxti.a) são bibliotecas compartilhadas. Isso significa que os aplicativos podem ser executados sem recompilação, mesmo que o sistema possa atualizar as bibliotecas no futuro.

A sintaxe de chamadas TLI e XTI é semelhante. Para a maior parte, o XTI é um superconjunto de TLI em termos de definições, esclarecimento de uso e robustez de códigos de retorno. Para os códigos de uso e retorno específicos do XTI, consulte a Especificação X/OPEN CAE da X/Open Transport Interface e subroutines.