+@node Entity, Content-Type, How to use, Top
+@chapter Message \e$B$H\e(B Entity
+@cindex node-id
+@cindex entity-number
+@cindex mime-entity
+@cindex entity
+
+RFC 2045 (@ref{RFC 2045}) \e$B$K$h$l$P!"!V\e(BEntity \e$B$H$$$&8l$O!"\e(Bmessage, \e$B$b$7$/\e(B
+\e$B$O!"\e(Bmultipart entity \e$B$N\e(B body \e$BCf$N#1$D$NItJ,$N!"\e(BMIME \e$B$GDj5A$5$l$?\e(B header
+field \e$B$HFbMF$r;X$9!W$H$J$C$F$$$^$9!#$3$3$G$O!"\e(BMIME \e$B$GDj5A$5$l$?\e(B header
+field \e$B0J30$NA4$F$N\e(B header \e$B$H\e(B body \e$B$r;X$98l$H$7$F\e(B @strong{entity}\e$B$rMQ$$$k\e(B
+\e$B$3$H$K$7$^$9!#\e(B@refill
+
+RFC 2045 \e$B$NDj5A$O!"\e(BMIME message \e$B$,\e(B entity \e$B$rC10L$H$9$kLZ9=B$$G$"$k$3$H$r\e(B
+\e$B<($7$F$$$^$9!#\e(Bmessage \e$B$O2<?^$G<($9$h$&$JLZ$H$J$j!"\e(Bentity \e$B$O$3$NLZ$K$*$1\e(B
+\e$B$k@a$H$J$j$^$9!#$D$^$j!"\e(BMIME \e$B$O\e(B message \e$B$rLZ9=B$$K3HD%$7$?Lu$G$9!#\e(B
+@refill
+
+FLIM \e$B$O\e(B entity \e$B$N>pJs$rI=8=$9$k$?$a$K\e(B@strong{mime-entity} \e$B9=B$BN$rMQ$$$^\e(B
+\e$B$9!#0J2<$G$OC1$K\e(B mime-entity \e$B$H8F$V$3$H$K$7$^$9!#\e(B@refill
+
+\e$BA0=R$N$h$&$K!"\e(Bmessage \e$BCf$N3F\e(B entity \e$B$OLZ$N@a$KEv$?$j$^$9$,!"$3$NLZ$K$O\e(B
+\e$B?<$5$HF1$8?<$5$NCf$N=gHV$K=>$C$FHV9f$,IU$1$k$3$H$,$G$-$^$9!#B($A!"\e(B
+@example
+
+ \e$B(#(!(!(!($\e(B
+ \e$B("\e(B nil \e$B("\e(B
+ \e$B(&(!(((!(%\e(B
+ \e$B(#(!(!(!(!(!(!(!(!(!(+(!(!(!(!(!(!(!(!(!($\e(B
+ \e$B(#(*($\e(B \e$B(#(*($\e(B \e$B(#(*($\e(B
+ \e$B("#0("\e(B \e$B("#1("\e(B \e$B("#2("\e(B
+ \e$B(&(((%\e(B \e$B(&(((%\e(B \e$B(&(((%\e(B
+ \e$B("\e(B \e$B(#(!(!(!(!(+(!(!(!(!($\e(B \e$B("\e(B
+ \e$B(#(!(*(!($(#(!(*(!($(#(!(*(!($(#(!(*(!($(#(!(*(!($\e(B
+ \e$B("\e(B \e$B#0\e(B.\e$B#0("("\e(B \e$B#1\e(B.\e$B#0("("\e(B \e$B#1\e(B.\e$B#1("("\e(B \e$B#1\e(B.\e$B#2("("\e(B \e$B#2\e(B.\e$B#0("\e(B
+ \e$B(&(!(!(!(%(&(!(!(!(%(&(!(!(!(%(&(!(!(!(%(&(!(!(!(%\e(B
+@end example
+
+@noindent
+\e$B$N$h$&$K?<$5\e(B n \e$B$N@a$K$OD9$5\e(B n \e$B$N@0?tNs$N@aHV9f$,?6$l$^$9!#$3$l\e(B
+\e$B$r\e(B @strong{entity-number} \e$B$H8F$S$^$9!#\e(Bentity-number \e$B$O\e(B S \e$B<0$H\e(B
+\e$B$7$F$O\e(B @code{(1 2 3)} \e$B$N$h$&$J@0?t$N%j%9%H$H$7$FI=8=$5$l$^$9!#\e(B
+
+mime-entity \e$B$G$O!"$3$l$HF1MM$N\e(B @strong{node-id} \e$B$rMQ$$$^$9!#\e(Bnode-id \e$B$O$A$g\e(B
+\e$B$&$I\e(B entity-number \e$B$r5U$K$7$?%j%9%H$G!"\e(Bentity-number 1.2.3 \e$B$KBP1~$9$k\e(B
+node-id \e$B$O\e(B @code{(3 2 1)} \e$B$G$9!#\e(B@refill
+
+\e$BA0=R$N$h$&$K!"\e(BMIME message \e$B$O\e(B entity \e$B$rC10L$H$7$?LZ9=B$$K$J$C$F$$$k$N$G!"\e(B
+\e$B$3$N:,$G$"$k\e(B message \e$BA4BN$b\e(B mime-entity \e$B$GI=8=$9$k$3$H$,$G$-!"\e(Bbuffer
+local \e$BJQ?t\e(B @code{mime-message-structure} \e$B$K3JG<$9$k$3$H$K$7$^$9!#\e(B
+\e$B$=$7$F!"\e(Bentity-number \e$B$d\e(B node-id \e$B$rMQ$$$k$3$H$G\e(B
+@code{mime-message-structure} \e$B$K$*$1$k\e(B entity \e$B$NAjBPE*$J0LCV4X78$r\e(B
+\e$B07$&$3$H$,$G$-$^$9!#\e(B
+
+
+@menu
+* mime-entity:: mime-entity \e$B9=B$BN\e(B
+* Message parser:: Message \e$B$N2r@O4o\e(B
+* Entity as node in message:: Entity \e$B$N0LCV4X78$K4X$9$k5!G=\e(B
+* Entity-header:: Entity header \e$B$N>pJs\e(B
+* Entity-content:: Entity \e$B$NFbMF\e(B
+@end menu
+
+@node mime-entity, Message parser, Entity, Entity
+@section mime-entity \e$B9=B$BN\e(B
+
+@deffn{Structure} mime-entity
+
+entity \e$B$K4X$9$k>pJs$r<}$a$k9=B$BN!#\e(B@refill
+
+\e$B$3$N9=B$BN$r;2>H$9$k$K$O\e(B @code{mime-entity-\e$BMWAGL>\e(B} \e$B$H$$$&L>A0$N;2>H4X?t\e(B
+\e$B$rMQ$$$k!#\e(B@refill
+
+\e$B$3$N9=B$BN$NMWAG$O0J2<$NDL$j$G$"$k!'\e(B
+
+@table @var
+@item buffer
+entity \e$B$,B8:_$9$k\e(B buffer (buffer)
+
+@item header-start
+entity \e$B$NB8:_$9$k\e(B buffer \e$B$K$*$1$k\e(B header \e$B$N@hF,0LCV\e(B
+(point)
+
+@item header-end
+entity \e$B$NB8:_$9$k\e(B buffer \e$B$K$*$1$k\e(B header \e$B$NKvHx0LCV\e(B
+(point)
+
+@item body-start
+entity \e$B$NB8:_$9$k\e(B buffer \e$B$K$*$1$k\e(B body \e$B$N@hF,0LCV\e(B
+(point)
+
+@item body-end
+entity \e$B$NB8:_$9$k\e(B buffer \e$B$K$*$1$k\e(B body \e$B$NKvHx0LCV\e(B
+(point)
+
+@item node-id
+entity \e$B$N\e(B node-id (\e$B@0?t$N\e(B list)
+
+@item content-type
+Content-Type (@ref{Content-Type}) \e$BMs$N>pJs\e(B(mime-content-type)
+
+@item content-disposition
+Content-Disposition (@ref{Content-Disposition}) \e$BMs$N>pJs\e(B
+(mime-content-disposition)
+
+@item encoding
+entity \e$B$N\e(B Content-Transfer-Encoding (@ref{Content-Transfer-Encoding})
+(\e$BJ8;zNs\e(B)
+
+@item children
+entity \e$B$K4^$^$l$k\e(B entity \e$B$N\e(B list (mime-entity \e$B$N\e(B
+list)
+
+@end table
+
+
+\e$B$^$?!"2a5n$H$N8_49@-$N$?$a!"0J2<$NMWAGL>$N;2>H4X?t$bMxMQ2DG=$G$"$k!#\e(B
+
+@table @var
+@item type/subtype
+entity \e$B$N\e(B type/subtype (\e$BJ8;zNs\e(B)
+
+@item media-type
+entity \e$B$N\e(B media-primary-type (symbol)
+
+@item media-subtype
+entity \e$B$N\e(B media-subtype (symbol)
+
+@item parameters
+entity \e$B$N\e(B Content-Type \e$BMs$N\e(B parameter (\e$BO"A[\e(B list)
+
+@end table
+@end deffn
+
+
+@defun make-mime-entity buffer header-start header-end body-start body-end
+ &optional node-id content-type content-disposition encoding
+ children
+
+entity \e$B$N@8@.;R!#\e(B
+@end defun
+
+
+@defun mime-entity-point-min entity
+
+entity \e$B$NB8:_$9$k\e(B buffer \e$B$K$*$1$k\e(B entity \e$B$N@hF,0LCV$rJV$9!#\e(B
+@end defun
+
+
+@defun mime-entity-point-max entity
+
+entity \e$B$NB8:_$9$k\e(B buffer \e$B$K$*$1$k\e(B entity \e$B$NKvHx0LCV$rJV$9!#\e(B
+@end defun
+
+
+
+@node Message parser, Entity as node in message, mime-entity, Entity
+@section Message \e$B$N2r@O4o\e(B
+
+@defun mime-parse-message &optional default-ctl default-encoding node-id
+
+\e$B8=:_$N\e(B buffer \e$B$r9=J82r@O$7$?7k2L$rJV$9!#\e(B
+@end defun
+
+
+@defun mime-parse-buffer &optional buffer
+
+@var{buffer} \e$B$r9=J82r@O$7!"$=$N7k2L$r\e(B @var{buffer} \e$B$N\e(B
+@code{mime-message-structure} \e$B$K3JG<$9$k!#\e(B@refill
+
+@var{buffer} \e$B$,>JN,$5$l$?>l9g!"8=:_$N\e(B buffer \e$B$r9=J82r@O$9$k!#\e(B
+@end defun
+
+
+
+@node Entity as node in message, Entity-header, Message parser, Entity
+@section Entity \e$B$N0LCV4X78$K4X$9$k5!G=\e(B
+
+@defvar mime-message-structure
+
+\e$B8=:_$N\e(B buffer \e$B$K$*$1$k\e(B message \e$BA4BN$N\e(B mime-entity \e$B9=B$BN$r3JG<$9$k\e(Bbuffer
+local \e$BJQ?t!#\e(B
+@end defvar
+
+
+@defun mime-entity-number entity
+
+@var{entity} \e$B$N\e(B entity-number \e$B$rJV$9!#\e(B
+@end defun
+
+
+@defun mime-entity-parent entity &optional message-structure
+
+@var{entity} \e$B$N?F$N\e(B entity \e$B$rJV$9!#\e(B@refill
+
+@var{message-structure} \e$B$,>JN,$5$l$?>l9g$O\e(B entity \e$B$,B8:_$9$k\e(B buffer \e$B$K$*\e(B
+\e$B$1$k\e(B @code{mime-message-structure} \e$B$NCM$rMQ$$$k!#\e(B@refill
+
+@var{message-structure} \e$B$,;XDj$5$l$?>l9g!"$3$l$r:,$H8+Jo$9!#\e(B
+@end defun
+
+
+@defun mime-root-entity-p entity
+
+@var{entity} \e$B$,:,!JB($A!"\e(Bmessage \e$BA4BN!K$G$"$k>l9g$K!"Hs\e(B-@code{nil} \e$B$rJV\e(B
+\e$B$9!#\e(B
+@end defun
+
+
+
+@node Entity-header, Entity-content, Entity as node in message, Entity
+@section Entity header \e$B$N>pJs\e(B
+
+@defun mime-entity-fetch-field entity field-name
+
+@var{entity} \e$B$N\e(B header \e$BCf$N\e(B @var{field-name} \e$BMs$N\e(B body \e$B$rJV$9!#\e(B@refill
+
+\e$B7k2L$NJ8;zNs$O\e(B network \e$BI=8=$N$^$^$G$"$k!#\e(B@refill
+
+@var{field-name} \e$BMs$,B8:_$7$J$$>l9g$O\e(B nil \e$B$rJV$9!#\e(B
+@end defun
+
+
+@defun mime-entity-read-field entity field-name
+
+@var{entity} \e$B$N\e(B header \e$BCf$N\e(B @var{field-name} \e$BMs$r9=J82r@O$7$?7k2L$rJV$9!#\e(B
+@refill
+
+\e$B7k2L$N7A<0$OMsKh$K0[$J$k!#Hs9=B$2=Ms$N>l9g$OJ8;zNs$rJV$7!"9=B$2=Ms$N>l9g\e(B
+\e$B$O$=$N7A<0$K=>$C$?\e(B list \e$B$rJV$9!#\e(B@refill
+
+\e$B7k2LCf$NJ8;zNs$O\e(B Emacs \e$B$NFbItI=8=$KJQ49$5$l$k!#\e(B@refill
+
+@var{field-name} \e$BMs$,B8:_$7$J$$>l9g$O\e(B nil \e$B$rJV$9!#\e(B
+@end defun
+
+
+@defun mime-insert-decoded-header entity &optional invisible-fields visible-fields
+ code-conversion
+
+\e$B8=:_0LCV$K\e(B @var{entity} \e$B$NI|9f$7$?\e(B header \e$B$rA^F~$9$k!#\e(B@refill
+
+@var{invisible-fields} \e$B$H\e(B @var{visible-fields} \e$B$O@55,I=8=$N\e(Blist \e$B$G!"$=$l\e(B
+\e$B$>$l!"I=<($7$?$/$J$$\e(B field \e$BL>$HI=<($7$?$$MsL>$rI=8=$7$?$b$N$G$"$k!#\e(B
+@refill
+
+@var{invisible-fields} \e$B$NMWAG$N$I$l$+$K\e(B match \e$B$7!"$+$D!"\e(B
+@var{visible-fields} \e$B$NMWAG$N$I$l$K$b\e(B match \e$B$7$J$$Ms$OI=<($5$l$J$$!#\e(B
+@end defun
+
+
+
+@node Entity-content, , Entity-header, Entity
+@section Entity \e$B$NFbMF\e(B
+
+@defun mime-entity-content entity
+
+@var{entity} \e$B$NFbMF$N\e(B byte \e$BNs$rJV$9!#\e(B
+@end defun
+
+
+
+@node Content-Type, Content-Disposition, Entity, Top