rpc_parse/parse_shutdown.c

ソースコードを見る。

関数

void init_shutdown_q_init (SHUTDOWN_Q_INIT *q_s, const char *msg, uint32 timeout, BOOL do_reboot, BOOL force)
void init_shutdown_q_init_ex (SHUTDOWN_Q_INIT_EX *q_u_ex, const char *msg, uint32 timeout, BOOL do_reboot, BOOL force, uint32 reason)
BOOL shutdown_io_q_init (const char *desc, SHUTDOWN_Q_INIT *q_s, prs_struct *ps, int depth)
BOOL shutdown_io_r_init (const char *desc, SHUTDOWN_R_INIT *r_s, prs_struct *ps, int depth)
BOOL shutdown_io_q_init_ex (const char *desc, SHUTDOWN_Q_INIT_EX *q_s, prs_struct *ps, int depth)
BOOL shutdown_io_r_init_ex (const char *desc, SHUTDOWN_R_INIT_EX *r_s, prs_struct *ps, int depth)
void init_shutdown_q_abort (SHUTDOWN_Q_ABORT *q_s)
BOOL shutdown_io_q_abort (const char *desc, SHUTDOWN_Q_ABORT *q_s, prs_struct *ps, int depth)
BOOL shutdown_io_r_abort (const char *desc, SHUTDOWN_R_ABORT *r_s, prs_struct *ps, int depth)


関数

void init_shutdown_q_init ( SHUTDOWN_Q_INIT q_s,
const char *  msg,
uint32  timeout,
BOOL  do_reboot,
BOOL  force 
)

parse_shutdown.c31 行で定義されています。

参照先 SHUTDOWN_Q_INIT::forceget_talloc_ctx()init_unistr4()SHUTDOWN_Q_INIT::messageSHUTDOWN_Q_INIT::rebootSHUTDOWN_Q_INIT::serverUNISTR4::sizesmb_panic()UNISTR4::stringSHUTDOWN_Q_INIT::timeoutUNI_FLAGS_NONEUNISTR2::uni_max_len.

参照元 init_shutdown_q_init_ex()rpccli_shutdown_init().

00033 {
00034         q_s->server = TALLOC_P( get_talloc_ctx(), uint16 );
00035         if (!q_s->server) {
00036                 smb_panic("init_shutdown_q_init: talloc fail.\n");
00037                 return;
00038         }
00039 
00040         *q_s->server = 0x1;
00041 
00042         q_s->message = TALLOC_ZERO_P( get_talloc_ctx(), UNISTR4 );
00043         if (!q_s->message) {
00044                 smb_panic("init_shutdown_q_init: talloc fail.\n");
00045                 return;
00046         }
00047 
00048         if ( msg && *msg ) {
00049                 init_unistr4( q_s->message, msg, UNI_FLAGS_NONE );
00050 
00051                 /* Win2000 is apparently very sensitive to these lengths */
00052                 /* do a special case here */
00053 
00054                 q_s->message->string->uni_max_len++;
00055                 q_s->message->size += 2;
00056         }
00057 
00058         q_s->timeout = timeout;
00059 
00060         q_s->reboot = do_reboot ? 1 : 0;
00061         q_s->force = force ? 1 : 0;
00062 }

void init_shutdown_q_init_ex ( SHUTDOWN_Q_INIT_EX q_u_ex,
const char *  msg,
uint32  timeout,
BOOL  do_reboot,
BOOL  force,
uint32  reason 
)

parse_shutdown.c67 行で定義されています。

参照先 SHUTDOWN_Q_INIT::forceSHUTDOWN_Q_INIT_EX::forceinit_shutdown_q_init()SHUTDOWN_Q_INIT::messageSHUTDOWN_Q_INIT_EX::messageSHUTDOWN_Q_INIT_EX::reasonSHUTDOWN_Q_INIT::rebootSHUTDOWN_Q_INIT_EX::rebootSHUTDOWN_Q_INIT::serverSHUTDOWN_Q_INIT_EX::server.

参照元 rpccli_shutdown_init_ex().

00069 {
00070         SHUTDOWN_Q_INIT q_u;
00071         
00072         ZERO_STRUCT( q_u );
00073         
00074         init_shutdown_q_init( &q_u, msg, timeout, do_reboot, force );
00075         
00076         /* steal memory */
00077         
00078         q_u_ex->server  = q_u.server;
00079         q_u_ex->message = q_u.message;
00080         
00081         q_u_ex->reboot  = q_u.reboot;
00082         q_u_ex->force   = q_u.force;
00083         
00084         q_u_ex->reason = reason;
00085 }

BOOL shutdown_io_q_init ( const char *  desc,
SHUTDOWN_Q_INIT q_s,
prs_struct ps,
int  depth 
)

parse_shutdown.c91 行で定義されています。

参照先 SHUTDOWN_Q_INIT::forceSHUTDOWN_Q_INIT::messageprs_debug()prs_unistr4()SHUTDOWN_Q_INIT::rebootSHUTDOWN_Q_INIT::serverSHUTDOWN_Q_INIT::timeout.

参照元 rpccli_shutdown_init().

00093 {
00094         if (q_s == NULL)
00095                 return False;
00096 
00097         prs_debug(ps, depth, desc, "shutdown_io_q_init");
00098         depth++;
00099 
00100         if (!prs_align(ps))
00101                 return False;
00102 
00103         if (!prs_pointer("server", ps, depth, (void**)&q_s->server, sizeof(uint16), (PRS_POINTER_CAST)prs_uint16))
00104                 return False;
00105         if (!prs_align(ps))
00106                 return False;
00107 
00108         if (!prs_pointer("message", ps, depth, (void**)&q_s->message, sizeof(UNISTR4), (PRS_POINTER_CAST)prs_unistr4))
00109                 return False;
00110 
00111         if (!prs_align(ps))
00112                 return False;
00113 
00114         if (!prs_uint32("timeout", ps, depth, &(q_s->timeout)))
00115                 return False;
00116 
00117         if (!prs_uint8("force  ", ps, depth, &(q_s->force)))
00118                 return False;
00119         if (!prs_uint8("reboot ", ps, depth, &(q_s->reboot)))
00120                 return False;
00121 
00122         return True;
00123 }

BOOL shutdown_io_r_init ( const char *  desc,
SHUTDOWN_R_INIT r_s,
prs_struct ps,
int  depth 
)

parse_shutdown.c128 行で定義されています。

参照先 prs_debug()SHUTDOWN_R_INIT::status.

参照元 rpccli_shutdown_init().

00130 {
00131         if (r_s == NULL)
00132                 return False;
00133 
00134         prs_debug(ps, depth, desc, "shutdown_io_r_init");
00135         depth++;
00136 
00137         if(!prs_align(ps))
00138                 return False;
00139 
00140         if(!prs_werror("status", ps, depth, &r_s->status))
00141                 return False;
00142 
00143         return True;
00144 }

BOOL shutdown_io_q_init_ex ( const char *  desc,
SHUTDOWN_Q_INIT_EX q_s,
prs_struct ps,
int  depth 
)

parse_shutdown.c150 行で定義されています。

参照先 SHUTDOWN_Q_INIT_EX::forceSHUTDOWN_Q_INIT_EX::messageprs_debug()prs_unistr4()SHUTDOWN_Q_INIT_EX::reasonSHUTDOWN_Q_INIT_EX::rebootSHUTDOWN_Q_INIT_EX::serverSHUTDOWN_Q_INIT_EX::timeout.

参照元 rpccli_shutdown_init_ex().

00152 {
00153         if (q_s == NULL)
00154                 return False;
00155 
00156         prs_debug(ps, depth, desc, "shutdown_io_q_init_ex");
00157         depth++;
00158 
00159         if (!prs_align(ps))
00160                 return False;
00161 
00162         if (!prs_pointer("server", ps, depth, (void**)&q_s->server, sizeof(uint16), (PRS_POINTER_CAST)prs_uint16))
00163                 return False;
00164         if (!prs_align(ps))
00165                 return False;
00166 
00167         if (!prs_pointer("message", ps, depth, (void**)&q_s->message, sizeof(UNISTR4), (PRS_POINTER_CAST)prs_unistr4))
00168                 return False;
00169 
00170         if (!prs_align(ps))
00171                 return False;
00172 
00173         if (!prs_uint32("timeout", ps, depth, &(q_s->timeout)))
00174                 return False;
00175 
00176         if (!prs_uint8("force  ", ps, depth, &(q_s->force)))
00177                 return False;
00178         if (!prs_uint8("reboot ", ps, depth, &(q_s->reboot)))
00179                 return False;
00180 
00181         if (!prs_align(ps))
00182                 return False;
00183         if (!prs_uint32("reason", ps, depth, &(q_s->reason)))
00184                 return False;
00185 
00186 
00187         return True;
00188 }

BOOL shutdown_io_r_init_ex ( const char *  desc,
SHUTDOWN_R_INIT_EX r_s,
prs_struct ps,
int  depth 
)

parse_shutdown.c193 行で定義されています。

参照先 prs_debug()SHUTDOWN_R_INIT_EX::status.

参照元 rpccli_shutdown_init_ex().

00195 {
00196         if (r_s == NULL)
00197                 return False;
00198 
00199         prs_debug(ps, depth, desc, "shutdown_io_r_init_ex");
00200         depth++;
00201 
00202         if(!prs_align(ps))
00203                 return False;
00204 
00205         if(!prs_werror("status", ps, depth, &r_s->status))
00206                 return False;
00207 
00208         return True;
00209 }

void init_shutdown_q_abort ( SHUTDOWN_Q_ABORT q_s  ) 

parse_shutdown.c215 行で定義されています。

参照先 get_talloc_ctx()SHUTDOWN_Q_ABORT::serversmb_panic().

参照元 rpccli_shutdown_abort().

00216 {
00217         q_s->server = TALLOC_P( get_talloc_ctx(), uint16 );
00218         if (!q_s->server) {
00219                 smb_panic("init_shutdown_q_abort: talloc fail.\n");
00220                 return;
00221         }
00222                 
00223         *q_s->server = 0x1;
00224 }

BOOL shutdown_io_q_abort ( const char *  desc,
SHUTDOWN_Q_ABORT q_s,
prs_struct ps,
int  depth 
)

parse_shutdown.c229 行で定義されています。

参照先 prs_debug()SHUTDOWN_Q_ABORT::server.

参照元 rpccli_shutdown_abort().

00231 {
00232         if (q_s == NULL)
00233                 return False;
00234 
00235         prs_debug(ps, depth, desc, "shutdown_io_q_abort");
00236         depth++;
00237 
00238         if (!prs_align(ps))
00239                 return False;
00240 
00241         if (!prs_pointer("server", ps, depth, (void**)&q_s->server, sizeof(uint16), (PRS_POINTER_CAST)prs_uint16))
00242                 return False;
00243         if (!prs_align(ps))
00244                 return False;
00245 
00246         return True;
00247 }

BOOL shutdown_io_r_abort ( const char *  desc,
SHUTDOWN_R_ABORT r_s,
prs_struct ps,
int  depth 
)

parse_shutdown.c252 行で定義されています。

参照先 prs_debug()SHUTDOWN_R_ABORT::status.

参照元 rpccli_shutdown_abort().

00254 {
00255         if (r_s == NULL)
00256                 return False;
00257 
00258         prs_debug(ps, depth, desc, "shutdown_io_r_abort");
00259         depth++;
00260 
00261         if (!prs_align(ps))
00262                 return False;
00263 
00264         if (!prs_werror("status", ps, depth, &r_s->status))
00265                 return False;
00266 
00267         return True;
00268 }


Sambaに対してSat Aug 29 21:24:13 2009に生成されました。  doxygen 1.4.7