#include < sys/types.h > #include < sys/ipc.h > #include < sys/shm.h > char *shmat ( int shmid, char *shmaddr, int shmflg )
A chamada de sistemas shmat
é uma chamada relacionada com a manipulação de segmentos de memória compartilhada.shmid indica o número ID do segmento a ser associado. shmaddr pode ser usado para especificar um endereço onde aquela associação irá ocorrer, ou o valor 0 pode ser especificado para qualquer endereço livre. Tipicamente, o 0 será especificado para esse argumento. shmflg pode ser usado para alterar a operação de shmat(). Por exemplo, se shmflg está especificado como SHM_RDONLY, a associação será do tipo somente para leitura.
shmat
retorna o endereço usado para acessar o segmento de memória compartilhada. 0 é retornado se falhar.Para realizar uma associação para um segmento com o ID 15:
#include < sys/types.h > #include < sys/ipc.h > #include < sys/shm.h > ... int shm_id; char *addr; .. shm_id = 15; ... if( ( addr = shmat( shm_id, 0, 0 ) ) == (char *)0 ) { perror( "shmat" ); }
AIX, Linux, Lynx, SunOS e Solaris
Para maiores informações sobre este comando, consulte a página do manual de seu sistema operacional (comando man).