Rechercher une page de manuel
vmsplice
Langue: ja
Version: 2006-04-28 (openSuse - 09/10/07)
Section: 2 (Appels système)
̾Á°
vmsplice - ¥æ¡¼¥¶¡¦¥Ú¡¼¥¸¤ò¥Ñ¥¤¥×¤Ë·Ñ¤®¹ç¤ï¤»¤ë½ñ¼°
#define _GNU_SOURCE #include <fcntl.h> #include <sys/uio.h> long vmsplice(int fd, const struct iovec *iov, unsigned long nr_segs, unsigned int flags);
DESCRIPTION
vmsplice() ¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¡¢ iov ¤Ç»ØÄꤵ¤ì¤¿¥æ¡¼¥¶¡¦¥á¥â¥ê¤Î nr_segs ¤ÎÈϰϤò¥Ñ¥¤¥×¤Ë¥Þ¥Ã¥Ô¥ó¥°¤¹¤ë¡£ fd ¤Ï¥Ñ¥¤¥×¤ò»²¾È¤·¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£¥Ý¥¤¥ó¥¿ iov ¤Ï iovec ¹½Â¤ÂΤÎÇÛÎó¤ò»Ø¤¹¡£ iovec ¹½Â¤ÂÎ¤Ï <sys/uio.h> ¤Ç°Ê²¼¤Î¤è¤¦¤ËÄêµÁ¤µ¤ì¤Æ¤¤¤ë:
struct iovec { void *iov_base; /* ³«»Ï¥¢¥É¥ì¥¹ */ size_t iov_len; /* ¥Ð¥¤¥È¿ô */ };
flags °ú¤¿ô¤Ë¤Ï¡¢°Ê²¼¤ÎÃͤΠ0 ¸Ä°Ê¾å¤ò¥Ó¥Ã¥ÈËè¤ÎÏÀÍýϤηÁ¤Ç»ØÄꤹ¤ë¡£
- SPLICE_F_MOVE
- vmsplice() ¤Ç¤Ï̤»ÈÍÑ¡£ splice(2) »²¾È¡£
- SPLICE_F_NONBLOCK
- Æþ½ÐÎϤÇÄä»ß (block) ¤·¤Ê¤¤¡£¾ÜºÙ¤Ï splice(2) »²¾È¡£
- SPLICE_F_MORE
- ¸½ºß¤Î¤È¤³¤í vmsplice() ¤Ç¤Ï²¿¤Î¸ú²Ì¤â¤Ê¤¤¤¬¡¢¾ÍèŪ¤Ë¤Ï¼ÂÁõ¤µ¤ì¤ë²ÄǽÀ¤¬¤¢¤ë¡£ splice(2) »²¾È¡£
- SPLICE_F_GIFT
- ¥æ¡¼¥¶¡¦¥Ú¡¼¥¸¤¬¥«¡¼¥Í¥ë¤ØÅϤ¹¤â¤Î (gift) ¤Ç¤¢¤ë¤³¤È¤ò¼¨¤¹¡£ ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¤³¤Î¥á¥â¥ê¤òÀäÂФËÊѹ¹¤·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£ ¤µ¤â¤Ê¤±¤ì¤Ð¡¢¥Ú¡¼¥¸¥¥ã¥Ã¥·¥å¤È¥Ç¥£¥¹¥¯¾å¤Î¥Ç¡¼¥¿¤Ï °ìÃפ·¤Ê¤¯¤Ê¤ë¤À¤í¤¦¡£ ¥Ú¡¼¥¸¤ò¥«¡¼¥Í¥ë¤ËÅϤ¹¤È¡¢¤³¤Î¼¡¤Î splice(2) SPLICE_F_MOVE ¤Ç¤½¤Î¥Ú¡¼¥¸¤Î°ÜÆ°¤ò¹Ô¤¦¤³¤È¤¬¤Ç¤¤ë¡£ ¤³¤Î¥Õ¥é¥°¤¬»ØÄꤵ¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¡¢¤³¤Î¼¡¤Î splice(2) SPLICE_F_MOVE ¤Ç¤½¤Î¥Ú¡¼¥¸¤Î¥³¥Ô¡¼¤ò¹Ô¤ï¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ ¥Ç¡¼¥¿¤Ï¥á¥â¥ê¾å¤Ç¥Ú¡¼¥¸¶³¦¤Ë¤¢¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢ Ťµ¤â¥Ú¡¼¥¸¶³¦¤ÎÇÜ¿ô¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
ÊÖ¤êÃÍ
À®¸ù¤·¤Æ´°Î»¤¹¤ë¤È¡¢ vmsplice() ¤Ï¥Ñ¥¤¥×¤ËžÁ÷¤·¤¿¥Ð¥¤¥È¿ô¤òÊÖ¤¹¡£ ¥¨¥é¡¼¤Î¾ì¹ç¡¢ vmplice() ¤Ï -1 ¤òÊÖ¤·¡¢ errno ¤ò¥¨¥é¡¼¤ò¼¨¤¹ÃͤËÀßÄꤹ¤ë¡£¥¨¥é¡¼
- EBADF
- fd ¤¬Í¸ú¤Ç¤Ê¤¤¡¢¤â¤·¤¯¤Ï¥Ñ¥¤¥×¤ò»²¾È¤·¤Æ¤¤¤Ê¤¤¡£
- EINVAL
- nr_segs ¤¬ 0 ¤â¤·¤¯¤Ï IOV_MAX ¤è¤ê¤âÂ礤¤¡£¤Þ¤¿¤Ï SPLICE_F_GIFT ¤¬ÀßÄꤵ¤ì¤¿¤¬¥á¥â¥ê¤¬¥Ú¡¼¥¸¶³¦¤Ë¤¢¤Ã¤Æ¤¤¤Ê¤¤¡£
- ENOMEM
- ¥á¥â¥êÉÔ¡£
¥Ð¡¼¥¸¥ç¥ó
vmsplice(2) ¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï Linux 2.6.17 ¤Ç½é¤á¤ÆÅо줷¤¿¡£½àµò
¤³¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï Linux ¸ÇͤǤ¢¤ë¡£È÷¹Í
»ØÄꤵ¤ì¤¿¥»¥°¥á¥ó¥È¿ô¤¬¾å¸Â¤Ë㤷¤¿¾ì¹ç¡¢ vmsplice() ¤Ï¾¤Î¥Ù¥¯¥È¥ë·Á¼°¤Î read/write ¤ò¹Ô¤¦´Ø¿ô¤ÈƱ¤¸Æ°ºî¤ò¤¹¤ë¡£ ¾å¸Â¤Ï IOV_MAX ¤Ç¤¢¤ê¡¢ <limits.h> ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£ ¤³¤Î¥É¥¥å¥á¥ó¥È¤ò½ñ¤¤¤¿»þÅÀ¤Ç¤ÎÃÍ¤Ï 1024 ¤Ç¤¢¤ë¡£´ØÏ¢¹àÌÜ
splice(2), tee(2), feature_test_macros(7)Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre