9.11. Функция sctp_opt_info
9.11. Функция sctp_opt_info
Эта функция предназначена для тех приложений, которым недостаточно возможностей, предоставляемых функциями getsockopt для протокола SCTP. Дело в том, что некоторые параметры сокетов SCTP (например, SCTP_STATUS) требуют использования переменных типа «значение-результат» для передачи идентификатора ассоциации. Если функция getsockopt не поддерживает работу с такими переменными, разработчику придется вызывать sctp_opt_info. В системах типа FreeBSD, разрешающих указывать переменные типа «значение-результат» с параметрами сокетов, функция sctp_opt_info представляет собой оболочку, передающую аргументы функции getsockopt в нужном формате. В целях обеспечения переносимости разработчикам приложений рекомендуется использовать sctp_opt_info для всех параметров, требующих работы с переменными типа «значение-результат» (см. раздел 7.10).
int sctp_opt_info(int sockfd, sctp_assoc_t assoc_id, int opt,
void *arg, socklen_t *siz);
Возвращает: 0 в случае успешного завершения, -1 в случае ошибки
Здесь sockfd — дескриптор сокета, с параметрами которого хочет работать пользователь. Аргумент assoc_id задает идентификатор ассоциации, которую нужно выделить из списка всех ассоциаций данного сокета. Аргумент opt задает параметр сокета для SCTP (список параметров приводится в разделе 7.10). Arg — аргумент параметра сокета, siz — указатель на переменную типа socklen_t, в которой хранится размер аргумента параметра сокета.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Функция pthread_rwlock_rdlock
Функция pthread_rwlock_rdlock Текст функции pthread_rwlock_rdlock приведен в листинге 8.4.Листинг 8.4. Функция pthread_rwlock_rdlock: получение блокировки на чтение//my_rwlock/pthread_rwlock_rdlock.с1 #include "unpipc.h"2 #include "pthread_rwlock.h"3 int4 pthread_rwlock_rdlock(pthread_rwlock_t *rw)5 {6 int result;7 if (rw->rw_magic != RW_MAGIC)8 return(EINVAL);9 if ((result =
Функция pthread_rwlock_unlock
Функция pthread_rwlock_unlock Последняя функция, pthread_rwlock_unlock, приведена в листинге 8.8.Листинг 8.8. Функция pthread_rwlock_unlock: разблокирование ресурса//my_rwlock/pthread_rwlock_unlock.c1 #include "unpipc.h"2 #include "pthread_rwlock.h"3 int4 pthread_rwlock_unlock(pthread_rwlock_t *rw)5 {6 int result;7 if (rw->rw_magic != RW_MAGIC)8 return(EINVAL);9 if ((result =
Функция sem_open
Функция sem_open В листинге 10.22 приведен текст функции sem_open, которая создает новый семафор или открывает существующий.Листинг 10.22. Функция sem_open//my_pxsem_fifo/sem_open.с1 #include "unpipc.h"2 #include "semaphore.h"3 #include <stdarg.h> /* для произвольного списка аргументов */4 mysem_t *5 mysem_open(const char *pathname, int
Функция sem_close
Функция sem_close Текст функции sem_close приведен в листинге 10.23.11-15 Мы закрываем оба дескриптора и освобождаем память, выделенную под тип sem_t.Листинг 10.23. Функция sem_close//my_pxsem_fifo/sem_close.с1 #include "unpipc.h"2 #include "semaphore.h"3 int4 mysem_close(mysem_t *sem)5 {6 if (sem->sem_magic != SEM_MAGIC) {7 errno =
Функция sem_unlink
Функция sem_unlink Функция sem_unlink, текст которой приведен в листинге 10.24, удаляет из файловой системы наш семафор. Она просто вызывает unlink.Листинг 10.24. Функция sem_unlink//my_pxsem_fifo/sem_unlink. с1 #include "unpipc.h"2 #include "semaphore.h"3 int4 mysem_unlink(const char *pathname)5 {6 return(unlink(pathname));7
Функция SUM
Функция SUM Ваши возможности в подведении итогов не ограничены простым подсчетом записей. Используя функцию SUM, можно генерировать итоговые результаты для всех возвращаемых записей по любым числовым полям. Например, для создания запроса, который генерирует итоги по
Функция uni()
Функция uni() Поиск/замена символа по его юникодному номеру также может быть сделана при помощи функции uni().Пример функции uni(): Boouni(107,32)Designer найдет слово Book
Функция uni()
Функция uni() Поиск/замена символа по его юникодному номеру также может быть сделана при помощи функции uni().Пример функции uni(): Boouni(107,32)Designer найдет слово Book
Хэш-функция.
Хэш-функция. Еще одно важное преимущество использования PGP состоит в том, что PGP применяет так называемую «хэш-функцию», которая действует таким образом, что в том случае какого-либо изменения информации, пусть даже на один бит, результат «хэш-функции» будет совершенно
Функция uni()
Функция uni() Поиск/замена символа по его юникодному номеру также может быть сделана при помощи функции uni().Пример функции uni(): Boouni(107,32)Designer найдет слово Book
Хэш-функция
Хэш-функция Однако описанная выше схема имеет ряд существенных недостатков. Она крайне медлительна и производит слишком большой объём данных — по меньшей мере вдвое больше объёма исходной информации. Улучшением такой схемы становится введение в процесс преобразования